例如,我有以下html内容,使用jquery,如何从a2的li文本中找出ul元素的数量?我敢肯定,最接近的方法可以达到这个目的但是如果你事先不知道有多少ul那么......
<ul id="ul_first">
<li>a</li>
<li>b</li>
<li>c</li>
<li>d</li>
<li>c
<ul id="ul_second">
<li>a2</li> <------- From here, this li has two ul element
<li>b2</li>
<li>c2</li>
<li>d2</li>
</ul>
</li>
</ul>
答案 0 :(得分:2)
您可以使用parents
:
var numberOfULsContainingThisElement = $(this).parents('ul').length;
假设this
是您指向的li
的DOM元素(例如,如果您点击它,则在点击处理程序中this
)。
您不会使用closest
,因为它会在第一场比赛时停止。 parents
收集与选择器匹配的所有祖先。
在特定的案例中(例如,不在点击处理程序中),即:
var numberOfULsContainingThisElement = $("#ul_second li").first().parents('ul').length;