隨著internet的發展,人們已經不滿足於對Web頁面僅進行瀏覽的簡單場景,於是創建了DHTML。DHTML將整個頁面的元素設定為對象,通過對這些對象的操作能改變原本靜態的HTML內容,此即DOM的最初模型。
DOM(文檔對象模型)定義了操作文檔對象的接口。在這個模型中,文檔被視作結構化的數據,類似於XML的樹結構。例如Web頁面的HTML文檔,document就是根節點,其他的子對象如連結,圖片,表格等均為其樹枝。
以下為HTML表格在DOM模型中的結構。
事實上,DOM更多的是一個對象模型,並不依賴於其結構,樹狀結構只是該模型的一個實現。作為對象模型,DOM規定了對象接口,例如添加結點,刪除結點等。
DOM主要包括三個部分:核心,HTML和XML。其中核心部分包括了最底層的文檔操作接口,適用於HTML與XML;HTML部分包括了針對HTML的操作接口;XML部分定義了針對XML的操作接口。
在DOM中,文檔就是由層次不同的多個結點組成的,可以說結點代表了全部的內容,每個節點都可以看成是一棵樹的根結點,整個文檔是一個遞歸的結構。因此可以說,文檔的DOM操作就是對結點的操作。文檔的層次結構和結點的概念是DOM模型中的核心概念,每個結點都是一個對象,在實際開發中我們通過這個對象提供的接口對其進行操作。