Javascript结点操作小练习:遍历HTML页面
(function(){
//获得body
var oBody=document.body;
//自调用遍历HTML
function ergHtml(e){
for(var i=0; i<e.childNodes.length; i++){
//判断是否是元素节点
if(e.childNodes[i].nodeType==1){
//在该函数里写功能性的操作(这里是输出页面所有的超链接及链接地址)
(function doSomeThing(){
if(e.childNodes[i].nodeName=="A"){
console.log(e.childNodes[i].textContent+" : "+e.childNodes[i].href);
}
})();
//判断有无子节点
if(e.childNodes[i].childNodes.length!=0){
//console.log(e.nodeName+"有"+e.childNodes.length+"个子节点");
ergHtml(e.childNodes[i]);
} else {
//console.log(e.childNodes[i].nodeName+"元素无子节点!");
}
} else if(e.childNodes[i].nodeType==3){
//console.log(e.childNodes[i].nodeType+". 文本节点!-------------------------------------");
} else if(e.childNodes[i].nodeType==8){
//console.log(e.childNodes[i].nodeType+". 注释节点!-------------------------------------");
}
}
}
ergHtml(oBody);
})();