2013-12-18 5 views
1

Мне было интересно, как подсчитать все элементы списка внутри div.Подсчитайте все элементы первого списка в ul

<ul class="menu"> 
    <li><a href="#">Home</a> 
    </li> 
    <li><a href="#">Contact</a> 
    </li> 
    <li><a>Information</a> 
     <ul> 
      <li><a href="#">History</a> 
      </li> 
      <li><a href="#">Present</a> 
      </li> 
      <li><a href="#">Future</a> 
      </li> 
     </ul> 
    </li> 
    <li><a>Tutorials</a> 
     <ul> 
      <li><a href="#">HTML/CSS</a> 
      </li> 
      <li><a href="#">Javascript</a> 
      </li> 
      <li><a href="#">Jquery</a> 
      </li> 
      <li><a href="#">PHP</a> 
      </li> 
     </ul> 
    </li> 
    <li><a href="#">Structure</a> 
    </li> 
</ul> 

Как подсчитать все элементы списка внутри ul class=menu? И не элементы списка, которые находятся в более глубоком UL.

Я имею в виду, как подсчитать Домой, Контакты, Информация, Учебники, Структура, а не элементы списка, которые находятся внутри них, я только что упомянул.

Конечно, я провел некоторое исследование, но не смог найти правильный ответ. Вот несколько дубликата: jQuery: Count number of list elements?

+0

Вопрос конкретно говорится Аскер не хочет LI, вложенный в любой UL, кроме UL.menu –

ответ

6

Используйте селектор > ребенок:

$('ul.menu>li').length 

Или .children():

$('ul.menu').children('li').length 
+0

Вот скрипку для него: http://jsfiddle.net/NXf3B/ –

+0

Большое спасибо, это мой ответ. Я использовал размер функции, но это не сработало для меня. Но для чего нужна стрела? Я не видел, чтобы он использовался в CSS? Извините, здесь, чтобы научиться не копировать вставку. –

+2

@KrijnvanderBurg. Вы найдете много информации в документах: https://developer.mozilla.org/en-US/docs/Web/CSS/Child_selectors – David

2

Другой вопрос в JQuery, так что я отвечаю за JQuery, попробуйте это для подсчета ваших li элементов

var count = $('ul.menu').children('li').length; 

DEMO

+0

Почему downvote? Объясните пожалуйста ... потому что демо работает нормально –

+0

Ваш ответ был опущен до того, как вы внесли свои изменения (не я) –

+1

Поскольку OP не ищет все 'li' только на первом уровне. Ваш ответ дает 12 вместо 5. – putvande

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