深度优先,递归遍历网页所有节点

   var blanks=[];
    function getChild(parent){
        console.log(blanks.join('')+
            (parent.nodeType!=3?
                         parent.nodeName:parent.nodeValue)
        ); 
        if(parent.childNodes.length>0){
            blanks.push("\t");//每次有子元素就加tab
            for(var i=0,len=parent.childNodes.length;i

经常用来遍历不确定层级深度的树形结构,如网页元素,网盘文件夹,多级管理结构


也可以用DOM Level2中的遍历API


1.创建遍历API对象;
var iterator=document.createNodeIterator(
开始的父节点对象,
whatToShow,
null,false
);
//whatToShow参数:
// NodeFilter.SHOW_ELEMENT
// NodeFilter.SHOW_ALL
2.用while循环,反复调用iterator.nextNode()方法

你可能感兴趣的:(深度优先,递归遍历网页所有节点)