Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取元素的DOM层次结构级别(计算子代级别)_Javascript_Jquery_Html - Fatal编程技术网

Javascript 获取元素的DOM层次结构级别(计算子代级别)

Javascript 获取元素的DOM层次结构级别(计算子代级别),javascript,jquery,html,Javascript,Jquery,Html,是否有一种有效的方法来计算特定元素的最深后代级别 例如: <div id="wrapper"> <ul> <li class="first">first</li> <li class="active">second</li> <li class="last"><a>third</a></li> </ul> </div>

是否有一种有效的方法来计算特定元素的最深后代级别

例如:

<div id="wrapper">
  <ul>
    <li class="first">first</li>
    <li class="active">second</li>
    <li class="last"><a>third</a></li>
  </ul>
</div>

  • 首先

  • 如果你最终需要深度,那么效率可能不是你最关心的问题,但这是一种非常简洁有效的方法

    var el = $("#wrapper");
    var i = 0;
    
    while ((el = el.children()).length) {
        i++;
    }
    

    “有没有一种有效的方法”定义efficint,但基本上没有。如果
    #wrapper>ul>li>a
    是3(即
    #wrapper
    有3级子体),那么就不应该
    li。首先
    是0,最后
    是1?谢谢,更正了。天哪,这很漂亮,我开始编写这个大型递归迭代器。当然,jQuery合并了jQuery对象中包含的所有元素的
    .children()
    ,这样您就有了最大的可能性。