日期:2014-05-17 浏览次数:20632 次
<body>
<div id="example">
<span id="p1" class="aaa bbb">M1</span>
<span id="p2" class="aaa ccc">M2</span>
<span id="p3" class="bbb ccc">M3</span>
</div>
<img src="1.jpg" id="1.jpg"/>
<img src="2.jpg" id="2.jpg"/>
<br />
</body>
<script>
var root=document.documentElement; //获取根元素节点document
var rootNodeList=root.childNodes; //获取根元素节点的所有子节点,包含head和body
for(var i=0;i<rootNodeList.length;i++){
//处理body元素
if(rootNodeList[i].nodeName.toLowerCase()=="body"){
//body元素是否有子节点
if(rootNodeList[i].hasChildNodes()){
//遍历body子节点
var bodyNodeList=rootNodeList[i].childNodes;
for(var j=0;j<bodyNodeList.length;j++){
if(bodyNodeList[j].nodeType==1){
try{
document.write("haha");
//上面这行输出haha正常,一共会输出5个,跟了代码,bodyNodeList里面有5个元素节点,5个文本节点
// getNodeInfo(bodyNodeList[j]);
// document.write("haha"+"<br>"); 但是如果用的是注释的这两行,在刷新网页的时候,总是未刷新完成的状态,然后浏览器就卡死,必须用任管关掉才行,为什么???
}catch(e){
alert(e.message?e.message:e.toString()) ;
}
}
}
}
}
}
function getNodeInfo(node){
document.write("节点名:"+"node.nodeName"+"<br />");
document.write("节点值:"+"node.nodeValue"+"<br />");
document.write("id属性:"+"node['id']"+"<br />");
document.write("----------------------------");
}