DOM提供了對(duì)HTML文檔中元素、屬性以及文本的一系列操作方法和屬性。
通過對(duì)HTML節(jié)點(diǎn)的操作來實(shí)現(xiàn)相應(yīng)的效果及交互。
節(jié)點(diǎn)分三類:元素節(jié)點(diǎn)、屬性節(jié)點(diǎn)、文檔節(jié)點(diǎn),其中元素節(jié)點(diǎn)最為重要,后面兩種節(jié)點(diǎn)依賴于元素節(jié)點(diǎn)。
元素節(jié)點(diǎn)的獲?。?/p>
舊的查找方案:document.body【可直接拿到body元素】 document.forms【可拿到所有form表單】 document.href【可拿到所有帶href屬性的元素】
方法:
document.getElementByClassName(" ")
document.getElementById(" ")
document.getElementByTagName(" ")
【返回偽數(shù)組】
方法(ES6):
document.querySelector(" ")
document.querySelectorAll(" ")
通過元素之間的關(guān)系查找:
element.parentElement
element.firstElementChild
element.lastElementChild
element.children
element.previousElementSibling
element.nextElementSibling
操作元素節(jié)點(diǎn):創(chuàng)建、添加,刪除,替換,克隆。
創(chuàng)建的節(jié)點(diǎn)并沒有添加到HTML文檔中,需要添加后才展現(xiàn)在HTML文檔里。
element.cloneNode( )【()里填寫true為深克隆,會(huì)將克隆元素的標(biāo)簽內(nèi)容一起復(fù)制,否則只復(fù)制標(biāo)簽】
文本節(jié)點(diǎn)內(nèi)容的獲?。?/p>
textNode.nodeValue【不常用】
elementNode.innerText【獲取元素下所有文本,只能修改文本,不能修改標(biāo)簽】
elementNode.innerHTML【獲取元素下所有節(jié)點(diǎn)(包括注釋節(jié)點(diǎn)),能修改添加標(biāo)簽】
屬性節(jié)點(diǎn)的操作:
elementNode.attributeName【for 屬性需寫成:htmlFor class屬性需要寫成:className】
elementNode..attributes【獲取某個(gè)元素下所有屬性節(jié)點(diǎn)】
操作方法:
element.getAttribute(" ")【獲取元素節(jié)點(diǎn)】
element.setAttribute(" ")【設(shè)置】
element.removeAttribute(" ")【刪除】
element.hasAttribute(" ")【是否存在】
自定義屬性:
在HTML里為某些同級(jí)相同標(biāo)簽添加以data-開頭的自定義屬性,這樣在dom里可以通過dataset屬性即可操作元素節(jié)點(diǎn)
來源:https://www.icode9.com/content-4-582301.html聯(lián)系客服