首页 > 代码库 > 递归实现查找页面所有节点

递归实现查找页面所有节点

 //创建一个回调函数寻找所有元素节点
    function queryNode(node) {
        //查询所有子节点并且放到nodeList这个数组中
        var nodeList = node.childNodes;
        //定义一个数组,用来存放符合要求的元素节点
        var arrNode = [];
        //遍历nodeList这个数组,寻找符合要求的元素节点
        for (var i = 0; i < nodeList.length; i++) {
            var node = nodeList[i];
            //nodeType == 1;元素节点
            //nodeType == 2;属性节点
            //nodeType == 3;文本节点
            if(node.nodeType == 1){
                arrNode.push(node);
                //继续进行递归寻找下一级的节点
                var temp = queryNode(node);
                //把两个数组进行合并,就是所有符合要求的节点
                arrNode = arrNode.concat(temp);
            }
        }
        return arrNode;
    }

 

递归实现查找页面所有节点