DOM(Document Object Model)也稱為文檔對象模型,是 W3C 組織推薦的處理可擴展標記語 言的標準編程接口。DOM 是一種與瀏覽器、平臺和語言無關的應用程序接口(API),它可以動態 地訪問程序和腳本,更新其內容、結構和 WWW 文檔的風格。如果把文檔作為一個樹形結構,那 么樹的每個節點表示了一個 html 標簽或標簽內的文本項。DOM 樹結構精確地描述了 HTML 文 檔中標簽間的相互關聯性。使用 DOM 接口可以同時定義很多方法來操作這棵樹中的每一個元 素(節點)。下面構建一個網頁文檔,并且提煉出它的文檔結構,用 DOM 的樹形模式顯示出來。 這樣可以更詳細地講解 DOM 的操作,HTML 文檔的結構如下:

將上面的 HTML 文檔解析后,轉化為一份完整的 DOM 樹形結構,如下圖所示:

而瀏覽器中所顯示的網頁內容,如下圖所示:

因此,對 HTML 文檔的處理可以通過對 DOM 樹的操作實現。DOM 模型不僅描述了文檔的結構,還定義了節點對象的行為,利用對象的方法和屬性,可以方便地訪問、修改、添加和刪除 DOM 樹的節點和內容。
節點這個詞是一個網絡用語,代表了網絡中的一個連接點。一個網絡就是由一些節點構成的 集合。在 DOM 中,文檔是由節點構成的集合,它們包括元素、屬性、文本、文檔、注釋等。在 實際開發時,要創建動態的內容,主要操作的節點包括元素節點、文本節點和屬性節點。元素節 點即標簽,如 <html>、<body>、<div>、<p> 等。文本節點即向用戶展示的內容,如 <div>...</div>中的 JAVAScript、DOM、css 等文本。屬性節點即元素屬性,如 <a> 標簽的鏈接屬性href="http://news.baidu.com/"。
通俗地說,在網頁中,HTML 是主體,裝載各種 DOM 元 素;CSS 用來裝飾 DOM 元 素; JavaScript 控制 DOM 元素。再次強調 DOM 是一個樹形結構。操作一個 DOM 節點主要就是以下幾 個操作:
(1)獲取節點:通過 class 屬性的類名獲取元素,返回元素對象數組;通過 id 屬性的 id 值獲 取元素,返回一個元素對象;通過 name 屬性獲取元素,返回元素對象數組;通過標簽名獲取元素, 返回元素對象數組。
(2)更新節點:更新 DOM 節點的內容。
(3)添加新節點:在 DOM 節點下新增一個子節點。
(4)遍歷節點:遍歷 DOM 節點下的子節點。
(5)刪除節點:將該節點從 HTML 中刪除,同時該節點下的節點也會一并刪除。