什么是 DOM?
DOM 是 W3C(萬維網(wǎng)聯(lián)盟)的標(biāo)準(zhǔn)。
DOM 定義了訪問 HTML 和 XML 文檔的標(biāo)準(zhǔn):
“W3C 文檔對象模型 (DOM) 是中立于平臺和語言的接口,它允許程序和腳本動態(tài)地訪問和更新文檔的內(nèi)容、結(jié)構(gòu)和樣式?!?/strong>
W3C DOM 標(biāo)準(zhǔn)被分為 3 個(gè)不同的部分:
核心 DOM - 針對任何結(jié)構(gòu)化文檔的標(biāo)準(zhǔn)模型
XML DOM - 針對 XML 文檔的標(biāo)準(zhǔn)模型
HTML DOM - 針對 HTML 文檔的標(biāo)準(zhǔn)模型
注:DOM 是 Document Object Model(文檔對象模型)的縮寫。
HTML DOM 節(jié)點(diǎn)樹
HTML DOM 將 HTML 文檔視作樹結(jié)構(gòu)。這種結(jié)構(gòu)被稱為節(jié)點(diǎn)樹:
HTML DOM Tree 實(shí)例
通過 HTML DOM,樹中的所有節(jié)點(diǎn)均可通過 JavaScript 進(jìn)行訪問。所有 HTML 元素(節(jié)點(diǎn))均可被修改,也可以創(chuàng)建或刪除節(jié)點(diǎn)。
目前最新的是DOM3, DOM4正在制定中~
節(jié)點(diǎn)的類型主要有六種:
Document: 文檔節(jié)點(diǎn)(整個(gè)文檔window.docment)
DocumentType: 文檔類型節(jié)點(diǎn)
Element: 元素節(jié)點(diǎn)
Attribue: 屬性節(jié)點(diǎn)
Text: 文本節(jié)點(diǎn)
元素類型 NodeType
元素 1
屬性 2
文本 3
注釋 8
文檔 9
獲取頁面節(jié)點(diǎn)的方法
getElementsByTagName(): 根據(jù)元素標(biāo)簽名稱,返回HTML集合
getElementById(): 根據(jù)元素的id="dhl"屬性,返回一個(gè) 例如 document.getElementById("dhl")
getElementByClassName(): 根據(jù)元素的class="dhl"屬性 例如 document.getElementsByClassName("dhl") 支持派生
getElementByName(): 根據(jù)元素的name屬性,大多用于表單元素或單選按鈕
querySelector(): 根據(jù)CSS選擇器獲取匹配集合中第一個(gè)元素 (前端超愛之一)
querySelectorAll(): 根據(jù)CSS選擇器獲取匹配集合所有元素 (前端超愛之二)
節(jié)點(diǎn)遍歷
childNodes: 所有子節(jié)點(diǎn)
firstChild: 第一個(gè)子節(jié)點(diǎn)
lastChild: 最后一個(gè)子節(jié)點(diǎn)
parentNode: 父節(jié)點(diǎn),只能是元素/文檔
nextSibling: 后一個(gè)兄弟節(jié)點(diǎn)
previousSibling: 前一個(gè)兄弟節(jié)點(diǎn)
一些常用的 DOM 對象方法
appendChild() | 把新的子節(jié)點(diǎn)添加到指定節(jié)點(diǎn)。 | |
removeChild() | 刪除子節(jié)點(diǎn)。 | |
replaceChild() | 替換子節(jié)點(diǎn)。 | |
insertBefore() | 在指定的子節(jié)點(diǎn)前面插入新的子節(jié)點(diǎn)。insertBefore(a,b) 有2個(gè)參數(shù)a插入的元素 b插入的位置 | |
createElement() | 創(chuàng)建元素節(jié)點(diǎn)。 | |
createAttribute() | 創(chuàng)建屬性節(jié)點(diǎn)。 | |
createTextNode() | 創(chuàng)建文本節(jié)點(diǎn)。 | |
getAttribute() | 返回指定的屬性值。 | |
setAttribute() | 把指定屬性設(shè)置或修改為指定的值。 |
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號