繁体   English   中英

递归地记录dom中所有孩子的所有孩子

[英]recursively log all children of all children in dom

我试图让所有的孩子递归地进入 DOM。 我看过其他一些例子,但它们对于我正在尝试做的事情来说有点过分了。 基本上,我只想获取页面上节点的所有 nodeValues,假设它们看起来像下面这样。

child
   child
       child
-------------------
child
    child
-------------------
child
-------------------
child
   child
      child
-------------------

我当前的代码如下,但它只挖掘一层并假设一个孩子不会有另一个 X 孩子。 我不想继续循环,所以我希望有人可以向我介绍一个好的递归方法?

   //check all children inside a child
          for(let j = 0; j < children[i].length; j++){
              console.log(children[i][j])
                      }
                  } 

document.querySelectorAll('body *') 应该返回正文中的每个 DOM 元素,并在需要时将它们展平。

如果您正在寻找递归 function

var elements = [];
var recursiveFindChildren = function(el) {
  for (let i = 0, iLength = el.children.length; i<iLength; i++) {
    elements.push(el.children[i]);
    if (el.children[i].children.length) recursiveFindChildren(el.children[i]);
  }
  return elements;
}

recursiveFindChildren(document.body)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM