通过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>
欢迎拍砖,如有不对的地方,还请多谅解。

Need a translation service?

Please enter your personal details and we will contact you shortly

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