Javascript js初学者-如何在低于网页中DOM节点的级别上立即解析所有子节点

Javascript js初学者-如何在低于网页中DOM节点的级别上立即解析所有子节点,javascript,Javascript,我知道,对于存储在名为“parent”的变量中的网页节点,我可以使用命令获取其所有子节点 var children=parent.childNodes; 我这里有两个问题-- (a) 上述代码行是否只提供直接子节点?或者比直接子节点更低的节点也会存储在“children”变量中吗 (b) 如何解析'children'变量中的每个节点?1)它将只返回直接子节点,但它们将依次包含它的所有子节点……等等 (二) 对于(var i=0;ia)是,仅列出立即子节点 b) 以ES5魔术为例 [].forE

我知道,对于存储在名为“parent”的变量中的网页节点,我可以使用命令获取其所有子节点

var children=parent.childNodes;
我这里有两个问题--

(a) 上述代码行是否只提供直接子节点?或者比直接子节点更低的节点也会存储在“children”变量中吗

(b) 如何解析'children'变量中的每个节点?

1)它将只返回直接子节点,但它们将依次包含它的所有子节点……等等

(二)

对于(var i=0;ia)是,仅列出立即子节点

b) 以ES5魔术为例

[].forEach.call(children, function( node ) {
    console.log( node );
});
所以我们可以调用Recrive,在所有子节点上循环:

(function _loop( current ) {
    [].forEach.call( current.children, function( node ) {
        if( node.children.length ) {
            _loop( node );
        }
        else {
           console.log( node );
        }
    });
}( children ));
a) 它将只返回直接子级(当然,每个子级可能包含子级)

(b)

var children=parent.childNodes;
对于(变量i=0;i
(function _loop( current ) {
    [].forEach.call( current.children, function( node ) {
        if( node.children.length ) {
            _loop( node );
        }
        else {
           console.log( node );
        }
    });
}( children ));
var children = parent.childNodes;

for(var i = 0; i < children.length; i++) 
{
    var singleChild = children[i]
}