冬日暖阳
只要开始就不会晚,只要进步就有空间...

明明只有9个子节点,但是childNodes.length却是19,原因是:DOM的节点分为Element,Text,Attr,Comment,CDATASection等等类型。
比如:
<x>Hello, w</x>其中x这个节点的类型是Element,它有一个子节点,类型是Text,子节点的值是"Hello, w"。由于任何空白也是文本,也算作文本节点,所以回车和\t,空格这些空白字符也是节点了。
有两个办法解决这个问题:
一、filter你的childNodes,根据childNodes[i].nodeType == ELEMENT来过滤。
二、你可以不使用childNodes,而使用getElementsByTagName('*')来获取子元素节点。这个直接就是两个元素类型的节点了。

posted on 2011-04-28 10:27  zstudy  阅读(3776)  评论(0)    收藏  举报