[英]How to convert from recursive function to loop(for while etc) in DOM(Javascript)
我在搜索时得到了这段代码,但是,我希望它从递归 function 转换为使用 for 或 while 等循环。这段代码是关于在 DOM(Javascirpt) 中选择 Body 的所有子节点并在控制台上打印。
<script>
function traverse(target, callback){
if(target.nodeType === 1){
callback(target);
var c = target.childNodes;
for(var i=0; i<c.length; i++){
/* recursive function here */
traverse(c[i], callback);
}
}
}
traverse(document.querySelector('body'), function(elem){
console.log(elem);
});
</script>
你能给我一些建议吗? 提前致谢:)
您可以查询目标元素的所有子元素并对其进行迭代
function traverse(target, callback)
{
var nodes = target.getElementsByTagName('*');
callback(target);
for(var i=0;i<nodes.length;i++)
{
callback(nodes[i]);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.