DOM:面向?qū)ο蟮母拍睿?/p>
將文檔當成對象處理;
以面向?qū)ο蟮姆绞絹砻枋龊筒倏v(樹形結(jié)構(gòu))文檔;
HTML DOM 是:
HTML 的標準對象模型
HTML 的標準編程接口
W3C 標準
HTML DOM 定義了所有 HTML 元素的對象和屬性,以及訪問它們的方法。
換言之,HTML DOM 是關(guān)于如何獲取、修改、添加或刪除 HTML 元素的標準。
在網(wǎng)頁上,組織頁面(或文檔)的對象被組織在一個樹形結(jié)構(gòu)中,用來表示文檔中對象的標準模型就稱為DOM。
http://www.cnblogs.com/chaogex/p/3959723.html
文檔對象模型(Document Object Model,簡稱DOM),是W3C組織推薦的處理可擴展標志語言的標準編程接口
訪問和修改文檔信息的API規(guī)范。
本文試圖弄清楚DOM到底是什么,不會討論具體DOM節(jié)點的操作。
DOM全稱為The Document Object Model,應該理解為是一個規(guī)范,定義了HTML和XML文檔的邏輯結(jié)構(gòu)和文檔操作的編程接口。
DOM實際上是以面向?qū)ο蠓绞矫枋龅膶ο竽P?,它將文檔建模為一個個對象,以樹狀的結(jié)構(gòu)組織(本文稱之為“文檔樹”,樹中的對象稱為“節(jié)點”)。
每個文檔包含1個document節(jié)點,0個或1個doctype節(jié)點以及0個或多個元素節(jié)點等。document節(jié)點是文檔樹的根節(jié)點。
如對于HTML文檔,DOM 是這樣規(guī)定的:
整個文檔是一個文檔節(jié)點
每個 HTML 標簽是一個元素節(jié)點
包含在 HTML 元素中的文本是文本節(jié)點
每一個 HTML 屬性是一個屬性節(jié)點
注釋屬于注釋節(jié)點
節(jié)點與文檔內(nèi)容是一一對應的關(guān)系,節(jié)點之間有層次關(guān)系。
例如下面的hmlt文檔:
<!DOCTYPE html><html><head> <title>文檔標題</title></head><body><a href="">我的鏈接</a><h1>我的標題</h1></body></html>
會被建模為下面的文檔樹:
又如下面的html文檔:
<!DOCTYPE html><html class=e> <head><title>Aliens?</title></head> <body>Why yes.</body></html>
會被建模為下面的文檔樹:
程序員可以使用DOM定義的接口來獲得對文檔中所有元素進行訪問的入口,創(chuàng)建文檔,瀏覽文檔結(jié)構(gòu),添加、修改或刪除文檔元素和內(nèi)容。
HTML或XML文檔中的所有的內(nèi)容都可以通過使用DOM定義的接口來操作。
總的來說,DOM應該理解為是1個規(guī)范。
站在實現(xiàn)(如瀏覽器)和使用者(如程序員)的角度來看,DOM就是一套文檔節(jié)點的編程接口,只要實現(xiàn)了接口,就可以使用接口成員來操作文檔;站在設(shè)計和制定的角度來看,DOM是一個對象模型,它將文檔內(nèi)容建模為對象并組織為樹狀結(jié)構(gòu),定義了這些對象的行為和屬性以及這些對象之間的關(guān)系。
DOM不是一個數(shù)據(jù)結(jié)構(gòu)集,并沒有定義數(shù)據(jù)結(jié)構(gòu)。
DOM沒有定義文檔中什么信息是相關(guān)的或者文檔中的信息是如何組織的。
如對于XML,這些是在XML Information Set中指定的。DOM只是這些信息集的API。