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