DOM(Document Object Model,文檔對(duì)象模型)是一種基于對(duì)象的文檔結(jié)構(gòu)表示方式,它定義了瀏覽器如何將 HTML 或 XML 文檔轉(zhuǎn)換為一個(gè)樹(shù)形結(jié)構(gòu),以便于程序?qū)ζ溥M(jìn)行訪問(wèn)和操作。在 DOM 樹(shù)中,文檔的每個(gè)元素、屬性、文本都被表示為一個(gè)節(jié)點(diǎn)對(duì)象,開(kāi)發(fā)者可以通過(guò) JavaScript 等編程語(yǔ)言來(lái)操作這些節(jié)點(diǎn)對(duì)象,實(shí)現(xiàn)動(dòng)態(tài)地更新和改變網(wǎng)頁(yè)的內(nèi)容、樣式和行為。
DOM 樹(shù)的根節(jié)點(diǎn)是 document 對(duì)象,它是整個(gè)文檔的入口點(diǎn)。通過(guò) 文檔DOM 標(biāo)準(zhǔn)規(guī)定了節(jié)點(diǎn)對(duì)象的接口和屬性,每種節(jié)點(diǎn)對(duì)象都有對(duì)應(yīng)的接口和屬性。例如,元素節(jié)點(diǎn)對(duì)象具有 tagName、id、className、style 等屬性,以及 getAttribute()、setAttribute()、appendChild()、removeChild() 等方法。
由于 DOM 提供了對(duì)文檔的樹(shù)形結(jié)構(gòu)的完整訪問(wèn)能力,因此可以使用 DOM 對(duì)象來(lái)實(shí)現(xiàn)動(dòng)態(tài)的網(wǎng)頁(yè)效果和交互,例如增加、刪除、移動(dòng)頁(yè)面元素,改變樣式,響應(yīng)用戶的事件等。通常,通過(guò) JavaScript 等客戶端腳本語(yǔ)言來(lái)操作 DOM 樹(shù),實(shí)現(xiàn)交互式網(wǎng)頁(yè)的效果。