<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>实现一个统计所有的元素节点</title>
<script language="javascript"type="text/javascript">
// 实现统计网页中所有的元素节点
//1、统计所有的元素节点 从document开始统计
//2、1)定义递归函数,参数是节点,统计节点类型为 1
//2)如果说类型等于1 累加的变量要++;
//3)取出子元素,在判断每一个子元素的类型是1
//4)如果不是1的话,递归调用自己
//5)最后返回结果
//实现元素节点的统计
var str="";
function countNodes(nowNode){
//定义一个存放统计结果的变量
vartotal=0;
//varstr="";
/*********具体实现统计结果的变量************/
if(nowNode.nodeType==1)total+=1;
//取出当前节点的子节点
varchilds=nowNode.childNodes;
//遍历每一个子节点
for(vari=0;i<childs.length;i++){
//递归调用自己,并且把子节点传递过去
str+=childs[i].nodeName+","+childs[i].nodeType+"<br>";
total+=countNodes(childs[i]);
}
//document.write(str);
returntotal;
}
function countElement(){
//递归统计,从document开始统计
var count=countNodes(document);
alert(count);
document.write(str);
}
</script>
</head>
<body>
<div><p>csdn</p></div>
<span>河北软件</span>
<table width="300"border="0" cellpadding="0">
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</table>
<input type="button"value="统计"οnclick="countElement()" />
</body>
</html>