[英]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.