jQuery迭代身体的每个childNodes

时间:2015-02-24 17:03:48

标签: javascript jquery

目标:我想迭代并打印出html主体的每个子节点,并且我使用了document.body.childNodes方法。到目前为止,它并没有打印出身体的每个子节点。这是我的代码

<body>
    <p><div class="zero"><div class="one"><span class="two">hello</span></div></div></p>
</body>

这是我的jQuery脚本:

$(document).ready(function(){
    console.log(document.body.childNodes);
});

我的结果是: [text,p,div.zero,p,text,item:function]

div class =&#34; one&#34;,span class =&#34; two&#34;走?我可以做些什么来迭代身体的所有childNodes?

2 个答案:

答案 0 :(得分:1)

看看每个jquery函数: .each()

答案 1 :(得分:1)

您只看到第一级孩子的问题。

要迭代所有你可以使用jquery!

$("body").find("*").each(function(){
  var currentElement = $(this); //jquery object
  var currentElementNotJquery = this; //html element
  //some code here
});

或者通过编写递归程序:

类似的东西:

function iterate(node){
  if(node.firstChild)
    for(var i in node.childNodes)
      iterate(node.childNodes[i]);
  console.log(node);
}

运行它们: iterate(document.body)

相关问题