使用childNodes來遍歷dom元素子節(jié)點
<ul>
<li>123</li>
<li>123</li>
<li>123</li>
</ul>
對于上面一段代碼,如果IE來解析扒袖,<ul>元素會有3個子節(jié)點塞茅,就是3個<li>。對于其他瀏覽器季率,則會解析出7個元素,3個<li>和4個文本節(jié)點描沟。
<ul><li>123</li><li>123</li><li>123</li></ul>
如果將空白符刪除飒泻,那么所有瀏覽器都會返回3個子節(jié)點。
如果需要使用childNodes來遍歷dom元素子節(jié)點吏廉,需要先檢查一下元素的nodeType屬性泞遗。
for(let i = 0,len = element.childNodes.length; i<len; i++){
if(element.childNodes[i].nodeType == 1){
//...
}
}
常見dom類型的nodeType:
domType | nodeType |
---|---|
Element | 1 |
Attr | 2 |
Text | 3 |
Comment | 8 |
Document | 9 |