在FireFox中,代码中的换行也被认为是一个类型为1,名字为#text的节点。但是通常我们对代码中的换行并不感兴趣。这时我们就可以使用nodeType来过滤掉这类不需要的元素。使用下面的JS代码就可以实现了。
for( var i = 0;i < nodes.length; i++){
if(nodes[i].nodeType == 1){ //代码,只有在节点为元素节点的时候才执行 }
}
遍历文档所有的元素节点
下面我们在来看一段使用nodeType的JS代码。它的功能是遍历文档中所有的元素节点,并且统计元素节点的总数。当然我们以可以修改代码来对这些元素节点做任何操作。JavaScript代码如下:
<script type="text/javascript">
function countElements(node){
var total = 0;
if(node.nodeType == 1){ total +=1; }
var children = node.childNodes;
for(var i = 0;i < children.length; i++){
total += countElements(children[i]);
}
return total;
}
function test2(){
var elementsCount = countElements(document);
alert(elementsCount);
}
</script>