1

比如我有如下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>
4

1 回答 1

2

您可以使用parents

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

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

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

在您的特定情况下(例如,不在点击处理程序中),这将是:

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

实例| 来源

于 2013-03-28T18:35:48.990 回答