childNodes 包括文本節點
節點分紅三類:標籤 屬性和文本
節點的類型 nodeType
一、元素的節點
二、屬性節點
三、文本節點
節點的名字 nodeName
元素節點:標籤名稱
屬性節點:屬性名稱
文本節點:#text
節點值 nodeValue
元素節點的nodevalue始終是null
屬性的nodeValue的屬性值
若是是文本返回的文本的內容
兄弟(姐妹)節點
下一個兄弟(姐妹)節點:
nextSibling:下一個緊鄰節點,谷歌、火狐都支持,只不過有可能會得到文本節點,IE8及以前的瀏覽器會忽略空白文本節點,若是文本有內容,也會得到到。
nextElementSibling:谷歌和火狐均可以得到下一個緊鄰的元素節點,而IE8及以前的版本不支持。
previousSibling
previousElementSibing
節點的層次
父節點:parentNode
子節點:
childNodes 標準的DOM屬性,獲取子標籤之外,還會獲取文本節點,可是IE8中會忽略空白
childen 不是標準的DOM屬性,可是全部的瀏覽器都支持,只會返回元素節點
兄弟節點
nextSibling 下一個兄弟節點,多是費元素節點,IE8是元素節點
previousSibling
previousElementSibling 上一個兄弟節點 IE8及以前不支持
nextElementSibling 下一個兄弟節點
第一個和最後一個子節點
firdtChild
laseChild
firstElementChild
lastElementChild
如下是對節點的小結 (這個小結是從朋友那直接拿過來的,望朋友勿怪哦!)
nextSibling 與 nextElementSibling 下一個兄弟節點
previousSibling 與 previousElementSibling 上一個兄弟節點
firstChild 與 firstElementChild 第一個子節點
lastChild 與 lastElementChild 最後一個子節點
element.nextSibling element.previousSibling
element.firstChild element.lastChild
//FF 得到的是文本節點 //IE 得到的是元素節點
Boolean(element.nextSibling) Boolean(element.previousSibling)
Boolean(element.firstChild) Boolean(element.lastChild)
//FF true //IE true
element.nextElementSibling element.previousElementSibling
element.firstElementChild element.lastElementChild
//FF 得到的是元素節點 //IE 得到的是undefined
Boolean(element.nextElementSibling) Boolean(element.previousElementSibling)
Boolean(element.firstElementChild) Boolean(element.lastElementChild)
//FF true //IE false