通过JS遍历DOM树,获得DOM元素的个数

最近在网上看到了一个关于怎么通过js遍历DOM树,获得DOM元素的个数的题目,现就个人的想法与大家一起来探讨一下。
1.首先从题目的意思可以看出,只要获得DOM元素的个数。
2.根据DOM的节点类型可知元素节点的类型属于nodeType =1。
3.综上所述我们可以从先获得DOM树Root节点,然后进行遍历它的子节点,如果是子元素节点则判断元素子节点下面有没有元素子节点,通过这样的遍历方法可以取得最终的结果。
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>获得DOM元素数量</title>
</head>
<body>
<div id="all">
<p>This is a content.</p>
</div>
<script type="text/javascript">
//定义一个获得页面DOM元素的数量的
var html = document.getElementsByTagName('html')[0];
var domNum = 0;
function getDomNum(obj) {
if(obj.hasChildNodes){
for (var i = 0; i < obj.childNodes.length; i++){
arguments.callee(obj.childNodes[i]);
}
if(obj.nodeType == 1){
domNum++;
}
}
return domNum;
}
alert(getDomNum(html));
</script>
</body>
</html>
欢迎拍砖,如有不对的地方,还请多谅解。

Words translated by CCJK

146,096,379

We are Certified

Our Client Satisfaction

rating for previous quarte

4.00

Over 95% of our clients recommend our language services to others


Copyright © CCJK Technologies Co., Ltd. 2000-2017. All rights reserved.
TOP