目标:我想迭代并打印出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?
答案 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)