DOM是語言中中立的API,用於訪問和操作HTML和XML文檔。DOM1級將HTML和XML文檔形象地看作一個層次化的節點樹,可以使用JavaScript來操作這個節點樹,進而改變底層文檔的外觀和結構。
DOM由各種節點構成,簡要總結如下:
一、最基本的節點類型是Node,用於抽象地表示文檔中一個獨立的部分;所有其他類型都繼承自node
(首先你掌握將一個HTML頁面轉換成節點樹)
二、Document類型表示整個類型,是一組分層節點的根節點。在JavaScript中,document對象是Document的一個實例。使用document對象,有很多種方式可以查詢和取得節點
三、Element節點表示文檔中的所有HTML或XML元素,可以用來操作這些元素的內容和特性
四、其它類型的節點類型(這些節點類型只需要了解)
分別表示文本內容、注釋、文檔類型、CDATA區域和文檔片段。
訪問DOM的操作在多熟情況下都很直觀,不過在處理<script>和<style>元素時還是存在一些復雜性。由於這兩個元素分別包含腳本和樣式信息,因此浏覽器通常會將它們與其他元素區別對待。這些區別導致了在針對這些元素使用innerHTML時,以及在創建新元素的一些問題。
理解DOM的關鍵,就是理解DOM對性能的影響
1、DOM操作往往是JavaScript程序中開銷最大的部分,而因訪問NodeList導致的問題最多。NodeList對象都是“動態的”,這就意味著每次訪問NodeList對象,都會運行一次查詢。有鑒於此,最好的方法就是盡量減少DOM操作。