JS學(xué)習(xí)筆記:DOM,節(jié)點(diǎn)的分類與定義,獲取DOM元素節(jié)點(diǎn)的方式,獲取所有子節(jié)點(diǎn)等函數(shù)

DOM基礎(chǔ)
元素:節(jié)點(diǎn),對(duì)象,標(biāo)簽。
DOM的核心就是操作DOM樹(shù)中的元素。
DOM樹(shù)下有很多標(biāo)簽(對(duì)象,元素)。
DOM樹(shù)下有很多節(jié)點(diǎn)。
節(jié)點(diǎn)的分類:元素節(jié)點(diǎn)(html中的標(biāo)簽)、屬性節(jié)點(diǎn)(每個(gè)標(biāo)簽中帶的屬性)、文本節(jié)點(diǎn)(標(biāo)簽中間的內(nèi)容)。
節(jié)點(diǎn)包含標(biāo)簽,標(biāo)簽不包含節(jié)點(diǎn)。
要操作DOM模型下的內(nèi)容,首先需要獲取DOM中的節(jié)點(diǎn)。
獲取DOM元素節(jié)點(diǎn)的四種方式,要么寫(xiě)在文檔的最后,要么加上windom.onload():
document.getElementById(“ID稱”):獲取的內(nèi)容只有一個(gè),如果存在多個(gè),獲取的是第一個(gè)ID。
document.getElementsByTagName(“標(biāo)簽名稱”):通過(guò)標(biāo)簽名稱進(jìn)行獲取,它可以獲取多個(gè)內(nèi)容,獲取到的內(nèi)容是一個(gè)數(shù)組,可以通過(guò)數(shù)組的下標(biāo)來(lái)區(qū)分是那個(gè)標(biāo)簽。
document.getElementsByName(“name名稱”):
document.getElementsByClassName("類名稱");
(元素節(jié)點(diǎn)大部分的節(jié)點(diǎn)都可以使用這四種方式去獲?。?/p>
獲取到節(jié)點(diǎn)之后就是操縱節(jié)點(diǎn),
通過(guò)屬性,內(nèi)容,樣式,事件來(lái)操縱節(jié)點(diǎn)。


nodeType(節(jié)點(diǎn)的類型)有:1代表元素節(jié)點(diǎn), 2代表屬性節(jié)點(diǎn), 3代表文本節(jié)點(diǎn)(1,2,3用于判斷節(jié)點(diǎn)類型,比如if(i.nodeType ==3){}等)。
nodeName(節(jié)點(diǎn)的名稱)有:元素節(jié)點(diǎn)(大寫(xiě)標(biāo)簽名稱) , 屬性節(jié)點(diǎn)(小寫(xiě)名稱)? ?,文本節(jié)點(diǎn)(#text)。
nodeValue(節(jié)點(diǎn)的內(nèi)容)有:元素節(jié)點(diǎn)(null) , 屬性節(jié)點(diǎn)(值)? ,文本節(jié)點(diǎn)(具體的內(nèi)容)。
獲取所有的子節(jié)點(diǎn):
childNodes():得到所有子節(jié)點(diǎn)的數(shù)組,可以通過(guò)下標(biāo)去訪問(wèn),會(huì)連文本節(jié)點(diǎn)一同獲取。
children():獲取某標(biāo)簽下的所有元素節(jié)點(diǎn),得到的也是一個(gè)數(shù)組,使用方式和childNodes是一樣的。
attributes:獲取某元素節(jié)點(diǎn)下的所有的屬性節(jié)點(diǎn),返回的也是一個(gè)數(shù)組,可以通過(guò)下標(biāo)進(jìn)行訪問(wèn)。
firstChild:獲取某節(jié)點(diǎn)下的第一個(gè)子節(jié)點(diǎn),包含文本節(jié)點(diǎn)。
firstElementChild:獲取某節(jié)點(diǎn)下的第一個(gè)元素節(jié)點(diǎn)。
lastChild獲取最后一個(gè)子節(jié)點(diǎn)。
使用lastElementChild獲取最后一個(gè)子元素。
parentNodes:獲取父節(jié)點(diǎn)。
previousSibling:獲取上一個(gè)兄弟節(jié)點(diǎn)(包含文本節(jié)點(diǎn))。
記得priviousElementSibling中的S要大寫(xiě)
priviousElementSibling:獲取上一個(gè)兄弟元素(不包含文本節(jié)點(diǎn))。
nextSibling:獲取下一個(gè)兄弟節(jié)點(diǎn)(包含文本節(jié)點(diǎn))。
nextElementSibling:下一個(gè)兄弟元素(不包含文本節(jié)點(diǎn))。