Javascript 如何循环嵌套的子结构?

Javascript 如何循环嵌套的子结构?,javascript,loops,Javascript,Loops,当我们不知道括号的深度时,我在寻找一般的解决方案。然而,例如: <div id="parent"> <div id="parent_child"> <div id="parent_child_child"> <div id="parent_child_child_child"> </div> </div> </div> </div> 如何在vanilla JavaScri

当我们不知道括号的深度时,我在寻找一般的解决方案。然而,例如:

<div id="parent">
 <div id="parent_child">
  <div id="parent_child_child">
   <div id="parent_child_child_child">
   </div>
  </div>
 </div>
</div>


如何在vanilla JavaScript中循环这种结构?

如果
jQuery
是一个选项,那么您可以使用
后代选择器来查找所有子节点(在任何深度),然后使用
。每个
对它们进行迭代

$("#parent div").each(function(){
   //your code goes here
});
一个纯JavaScript解决方案是

Array.from(document.querySelectorAll("#parent div")).forEach(function(itm){
    console.log(itm); //itm represents the individual element.
});
  • 将基于 提供的选择器
  • 将节点列表转换为本机数组
  • 可以方便地迭代数组

如果
jQuery
是一个选项,您可以使用
后代选择器
查找所有子节点(在任何深度),然后使用
。每个
对其进行迭代

$("#parent div").each(function(){
   //your code goes here
});
一个纯JavaScript解决方案是

Array.from(document.querySelectorAll("#parent div")).forEach(function(itm){
    console.log(itm); //itm represents the individual element.
});
  • 将根据 提供的选择器
  • 将节点列表转换为本机数组
  • 可以方便地迭代数组


您应该在问题中添加您尝试过的代码。不要依赖SO作为你的个人编码服务。我甚至不知道如何开始。很抱歉,我对编程还很陌生。首先,请查找关于基本JS循环和DOM节点遍历的教程。我假设您不能依赖于确切的DOM结构。如果不需要,则搜索“遍历DOM”以找到遍历所有节点的通用解决方案,或者如果您只需要元素,则从根元素开始执行
。getElementsByTagName(“*”)
您应该将尝试过的代码添加到问题中。不要依赖SO作为你的个人编码服务。我甚至不知道如何开始。很抱歉,我对编程还很陌生。首先,请查找关于基本JS循环和DOM节点遍历的教程。我假设您不能依赖于确切的DOM结构。如果不需要,则搜索“遍历DOM”以找到遍历所有节点的非常通用的解决方案,或者如果您只需要元素,则从根元素开始执行
。getElementsByTagName(“*”)
有趣的:对于好奇的人,
数组。来自
文档:这正是我想要的。谢谢!:)我不是反对者,但提到了
Array.from
对于该语言来说是非常新的,除了最新的浏览器之外,它在任何方面的支持都是有限的或没有的。这个问题说明他正在寻找一个通用的解决方案,并且给出的标记只是一个例子。您的解决方案只适用于问题中给出的DOM,因此在其他情况下没有用处。@Skint我教他如何迭代元素集合,以及如何选择元素(querySelectorAll)。从这一点上,他可以进一步学习。他还可以传递任何他想要的选择器,并根据自己的情况调整此代码。有趣的是:对于那些好奇的人,
Array。从
文档中可以看出:这正是我想要的。谢谢!:)我不是反对者,但提到了
Array.from
对于该语言来说是非常新的,除了最新的浏览器之外,它在任何方面的支持都是有限的或没有的。这个问题说明他正在寻找一个通用的解决方案,并且给出的标记只是一个例子。您的解决方案只适用于问题中给出的DOM,因此在其他情况下没有用处。@Skint我教他如何迭代元素集合,以及如何选择元素(querySelectorAll)。从这一点上,他可以进一步学习。他还可以传递任何他想要的选择器,并根据自己的情况调整此代码。