javascript – 迭代HTML DOM并获得深度

前端之家收集整理的这篇文章主要介绍了javascript – 迭代HTML DOM并获得深度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在 HTML DOM中进行迭代并在 javascript中列出具有深度的所有节点.

例:

<div>
    <img src="foo.jpg">
    <p>
        <span>bar</span>
    </p>
</div>

会导致

> div 0
> img 1
> p 1
>跨度2

解决方法

编写一个跟踪深度的递归函数
function element_list(el,depth) {
    console.log(el+' '+depth);
    for(var i=0; i<el.children.length; i++) {
        element_list(el.children[i],depth+1);
    }
}
element_list(document,0);

正如CodeiSir所指出的,这也将列出文本节点,但是我们可以在testing the nodeType之前对它们进行过滤.此代码的变化将允许/忽略其他节点类型.

function element_list(el,depth) {
   if (el.nodeType === 3) return;

猜你在找的JavaScript相关文章