1 var arr = []; 2 function getChild(ele){ 3 for(var i = 0, len = ele.childNodes.length; i < len; i++){ 4 if(ele.childNodes[i].nodeType == 1 || ele.childNodes[i].nodeType == 3){ 5 arr.push(ele.childNodes[i]); 6 } 7 } 8 return arr; 9 } 10 var result = getChild(ww); 11 console.log(result);
childNodes 跟 children 的区别
tagName / nodeName 的区别
1 var ww = document.getElementById("warp"); 2 console.log(ww.children.length); // IE 会包含注释节点 3 console.log(ww.tagName); 4 console.log(ww.childNodes.length); // 5 / 3 childNodes 所有都包含 (IE78剔除了空节点) 5 6 console.log(ww.childNodes[1].tagName); // undefined 7 console.log(ww.childNodes[1].nodeName); // chorme: #comment IE78: #text 因为childNodes 本身存在兼容性 8 console.log(ww.childNodes[2].nodeName); // #text 9 console.log(ww.childNodes[2].tagName); // undefined 10 console.log("wwwwwwwwwwwww",ww.childNodes[0].nodeName); // IE 78 #comment