如何找出li元素路径中的数字ul元素?

时间:2013-03-28 18:34:40

标签: jquery

例如,我有以下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>

1 个答案:

答案 0 :(得分:2)

您可以使用parents

var numberOfULsContainingThisElement = $(this).parents('ul').length;

假设this是您指向的li的DOM元素(例如,如果您点击它,则在点击处理程序中this)。

您不会使用closest,因为它会在第一场比赛时停止。 parents收集与选择器匹配的所有祖先。

特定的案例中(例如,不在点击处理程序中),即:

var numberOfULsContainingThisElement = $("#ul_second li").first().parents('ul').length;

Live Example | Source