有没有一种有效的方法来计算特定元素的最深后代级别?
例子:
<div id="wrapper">
<ul>
<li class="first">first</li>
<li class="active">second</li>
<li class="last"><a>third</a></li>
</ul>
</div>
#wrapper
应该返回一个后代级别,4
因为最深的链是这样的:#wrapper > ul > li > a
.
li.first
应该返回1
,因为它没有孩子,li.last
应该返回2
,因为li.last > a
.
我可以做 a$('#wrapper').find(*)
并遍历所有结果,这对于有很多后代的元素来说应该很慢,尤其是对于body
元素。
这是实验的开始:http: //jsbin.com/ixeWaja/1/edit
任何想法如何有效地解决这个问题?