JS學(xué)習(xí)筆記:DOM獲取子節(jié)點(diǎn),兄弟或兄弟元素節(jié)點(diǎn),追加,刪除,替換節(jié)點(diǎn)【詩(shī)書畫唱】

DOM分為三次課:
1.基本的DOM結(jié)構(gòu)(核心操作節(jié)點(diǎn))
2.獲取節(jié)點(diǎn),獲取節(jié)點(diǎn)的4種方式(id,class,name,tagname)
3.創(chuàng)建節(jié)點(diǎn):元素節(jié)點(diǎn)、文本節(jié)點(diǎn)、屬性節(jié)點(diǎn)
id:根據(jù)標(biāo)簽的id屬性,最簡(jiǎn)單最直接的方式:只獲取一個(gè)
Class:根據(jù)標(biāo)簽的class屬性,可以給多個(gè)標(biāo)簽設(shè)置,得到一個(gè)數(shù)組
name:根據(jù)標(biāo)簽的name屬性,得到的也是一個(gè)數(shù)組
tagname:根據(jù)標(biāo)簽名稱,得到的也是數(shù)組
節(jié)點(diǎn)的分類:
(要能區(qū)分)元素節(jié)點(diǎn),屬性節(jié)點(diǎn),文本節(jié)點(diǎn)。
nodeType(節(jié)點(diǎn)的分類):
1代表元素節(jié)點(diǎn)? ?2代表屬性節(jié)點(diǎn)? ?3代表文本節(jié)點(diǎn)
nodeName(節(jié)點(diǎn)的名稱):
元素節(jié)點(diǎn)(大寫的標(biāo)簽名),
屬性節(jié)點(diǎn)(小寫的屬性名)
文本節(jié)點(diǎn):#text
nodeValue(節(jié)點(diǎn)的值):
元素節(jié)點(diǎn)null
屬性節(jié)點(diǎn)(小寫的屬性值)
文本節(jié)點(diǎn)(具體的內(nèi)容)
獲取子節(jié)點(diǎn)
獲取所有的子節(jié)點(diǎn)(childNodes)
獲取所有的元素節(jié)點(diǎn)(children)
獲取某節(jié)點(diǎn)下第一個(gè)子節(jié)點(diǎn)(firstChild):包含文本節(jié)點(diǎn)
不包含文本節(jié)點(diǎn)(firstElementChild):不包含文本節(jié)點(diǎn)
最后一個(gè)子節(jié)點(diǎn)(lastChild):包含文本節(jié)點(diǎn)
最后一個(gè)元素節(jié)點(diǎn)(lastElementChild):最后一個(gè)元素節(jié)點(diǎn)
獲取父節(jié)點(diǎn)(parentNode)
兄弟節(jié)點(diǎn):
上一個(gè):previousSibling
下一個(gè):nextSibling
兄弟元素節(jié)點(diǎn):
上一個(gè):previousElementSibling
下一個(gè):nextElementSibling
創(chuàng)建節(jié)點(diǎn):元素節(jié)點(diǎn)、文本節(jié)點(diǎn)、屬性節(jié)點(diǎn)
創(chuàng)建元素節(jié)點(diǎn):createElement(“節(jié)點(diǎn)名稱”)
創(chuàng)建文本節(jié)點(diǎn):createTextNode("文本的內(nèi)容")
屬性節(jié)點(diǎn):標(biāo)簽名.setAttribute("屬性鍵","屬性值")
追加節(jié)點(diǎn):
b.appendChild(a):追加節(jié)點(diǎn)到最后一個(gè)節(jié)點(diǎn)后
insertBefor(a,b):追加節(jié)點(diǎn)a到b的前方
刪除節(jié)點(diǎn):
removeChild(a):刪除節(jié)點(diǎn)a
替換節(jié)點(diǎn):
replaceChild(a,b)a去替換b