关于childNodes的length的问题
<ul id="ul1">
<li></li>
<li></li>
</ul>
这个时候如果 document.getElementById('ul1').childNodes.length; 得到的结果是5,而不是2
因为它把之间的换行也当成是node
严格来说这也是正确的,节点分为元素节点(标签)和文本节点(纯文本),换行和空格实际上是文本节点。
这个问题在Chrome以及高版本IE会出现,反而在IE7不出现,IE7对DOM的支持比较差,反而避免了这个问题。
要解决这个问题,需要用的nodeType区分。nodeType是1表示元素节点,也就是我们想要的,nodeType是3表示文本节点,也就是这里不想要的。