2013-03-28 3 views
1

Например, у меня есть следующий html-контент, используя jquery, как узнать количество элементов ul из текста li a2? Я уверен, что ближайший метод может сделать это, но, как если вы не знаете заранее, сколько уль там ...Как узнать количество элементов ul на пути элемента li?

<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> 

ответ

2

Вы можете использовать parents:

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

Это предполагает, что this является элемент DOM из li, на который вы указали (например, если вы нажали на него, в обработчике кликов).

Вы не использовали бы closest, потому что он останавливается в первом матче. parents собирает всех предков, которые соответствуют селектору.

В вашем конкретном случае (например, не в обработчике щелчка), который был бы:

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

Live Example | Source

+0

спасибо T.J., я попробую ... –

Смежные вопросы