元素.childNodes:只读 属性 子节点列表集合
标准浏览器下:包含文本和元素类型节点,也会包含非法嵌套的子节点
非标准浏览器下:只包含元素类型节点,ie7下不会包含非法嵌套的子节点
childNodes只包含一级子节点,不包含后辈孙级节点
我们来看例子:
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> </head> <body> <div> <ul id="u1"> <li></li> <li></li> <li></li> <li></li> <p></p> </ul> </div> <script> var dom = document.getElementById('u1'); alert(dom.childNodes.length); </script> </body> </html>
ie9以上:
ie8:
ie7:
由此可见childNodes的兼容性问题比较大,所以在工作中推荐使用children