Alp*_*Alp 5 html javascript jquery
有没有一种有效的方法来计算特定元素的最深层后代级别?
例:
<div id="wrapper">
<ul>
<li class="first">first</li>
<li class="active">second</li>
<li class="last"><a>third</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
#wrapper应该返回一个后代级别,4因为最深的链是这样的:#wrapper > ul > li > a.
li.first应该返回,1因为它没有孩子,li.last应该返回2因为li.last > a.
我可以做一个$('#wrapper').find(*)迭代所有结果,对于有很多后代的元素来说应该很慢,特别是对于body元素.
这是一个实验的开始:http://jsbin.com/ixeWaja/1/edit
任何想法如何有效地解决这个问题?
如果您最终需要深度,效率可能不是您最关心的问题,但这是一种非常简洁有效的方法.
var el = $("#wrapper");
var i = 0;
while ((el = el.children()).length) {
i++;
}
Run Code Online (Sandbox Code Playgroud)