在這一章我主要介紹已經被新一代的瀏覽器所支持的W3C 第一級的DOM。對他的運作做一個大概的了解并且讓你知道你可以對他們做什么。 首先是對于DOM的一些建議和DOM設計的目的,然后我會告訴你什么是節點(nodes)并且怎樣通過DOM樹來遍歷節點。接著是如何得到一個特定的節點,以及怎樣改變他的值和屬性。最后就是DOM的終極目標:怎么創建一個自己的新節點。 建議 Level 1DOM是W3C制定的用來提供給任何程序語言來訪問XML文檔的。不管你用什么語言程序來處理XML文檔,只要是Level 1DOM里面的方法和屬性就可以。不管是Perl、VBScript還是JavaScript你都可以讀取任何你想讀取的值并且修改他們。 你們可能會猜到,這段描述的是一種理想情況,差異還是存在的(比如瀏覽器)。然后這部分內容還是比較少,并且你在JavaScript里學習如何處理XML也對你在其它語言中的學習會有一定的幫助。 從某種程度上也可以講HTML看做是一種XML文檔。只要瀏覽器能夠處理相應的腳本,那么Level 1 DOM也同樣在HTML里面可以運行的很好。 你可以讀取每一個HTML的標簽的文本和屬性,你可以刪除每一個標簽和他們的內容,你還可以實時的在現有的文檔里面插入一個新的標簽而不用在服務器上修改。 因為設計之初要考慮到修改XML的方方面面,所以對于一般的網頁工程師來說有一些方法可能永遠也用不上。比如,你可以用它來修改HTML的注釋,但是我沒有看出來問什么要這樣做。同樣的還有一些DOM處理DTD/Doctype的內容,你在你的網頁設計中并不需要,所以忽略掉,集中注意力在你的日常所需上就好。 節點(Nodes) 文檔對象模型是一種文檔內的多個元素之間怎樣相互聯系的一種模型。在Level 1 DOM中,每一個對象都是一個節點。所以如果你寫: 代碼如下: <p>This is a paragraph</p> 那么你就創建了兩個節點:元素P和內容是"This is a paragraph”的文本節點。這個文本節點包含在P元素內,所以可以認為是p節點的子節點。反過來說,p元素就是文本節點的父節點。 如果你寫成: 代碼如下: <p>This is a <B>Paragraph</B></p> 那么元素節點p就有兩個子節點,其中一個還有他自己的子節點。 最后就是參數節點。(令人困惑的是,他們不算做元素節點的子節點。事實上,在我寫這一章的過程中我做過一些測試,IE5根本就不把參數節點當做元素的子節點。)所以: 代碼如下: <P ALIGN="right">This is a <B>paragraph</B></P>