特定の要素の最も深い子孫レベルをカウントする効率的な方法はありますか?
例:
<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
すべての結果を反復処理できますが、$('#wrapper').find(*)
多くの子孫を持つ要素、特に要素の場合は非常に遅くなるはずbody
です。
実験の開始は次のとおりです。http://jsbin.com/ixeWaja/1/edit
これを効率的に解決する方法はありますか?