因为
childNodes包含的不仅仅只有
html节点,所有属性,文本等都包含在
childNodes里面
,你可以通过
nodeType来判断是哪种类型的节点,只有当
nodeType==1时才使元素节点,
2是属性节点,
3是文本节点。而
children.length只计算节点的数量。
包括进行节点长度的计算,节点的移动时都要注意这一点。
要获得一个元素的文本,比如要获得一个
P节点的文本,有的人喜欢使用
innerHTML,更改也是一样,其实这不太好,因为使用
innerHTML浏览器会认为你要插入的东西是一段标签文本,而你只想插入一段纯文本,这就导致浏览器试图去解析你的那段纯文本,这会造成不必要的资源浪费。所以建议使用
element.firstChild.nodeValue,为什么是
firstChild呢?因为
childNodes[0]就是文本节点,不信你可以看看它的
nodeType。
下载本文