随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)
在DOM中,HTML文档中的各个节点被视为各种类型的Node对象,在DOM中,可以通过Node对象的一些常用属性来比遍历文档树,其常用属性有:
由于HTML文档的复杂性,DOM定义了nodeType来表示节点的类型:
下面用一个简单的示例演示Node的使用,获取该文档中的全部标记以及标记总数:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>遍历文档</title>
<script language="JavaScript">
var elementList="";//全局变量
function getElement(node){
var total=0;
if(node.nodeType==1){//检查node是否为Element对象
total+=1;
elementList=elementList+node.nodeName+"、";
}
var childrens=node.childNodes;
for(var m=node.firstChild;m!=null;m=m.nextSibling){
total+=getElement(m);
}
return total;
}
function show(){
var number=getElement(document);
elementList=elementList.substring(0,elementList.length-1);//调用getElement函数获取标记总数
alert("该文档中包含:"+elementList+"等"+number+"个标记!");//去除字符串中最后一个字符
elementList="";//清空全局变量
}
</script>
</head>
<body onload="show()">
</body>
</html>