JQuery - Как подсчитать количество элементов, выбранных селектором?

Я использую $(). fadeOut(), чтобы вытеснять элементы из списка (<li> </li> ). Когда список пуст, я хочу скрыть родительский объект.

Я планирую сделать это, проверив мое событие триггера, которое затухает в списке, если количество объектов равно 0, затем скройте родительский элемент. Я могу использовать обратный вызов fadeOut для удаления элементов, если это необходимо.

К вопросу: Как выбрать теги li внутри ul, а затем получить общее количество их с помощью jquery?

Ответы

Ответ 1

Вот так:

$('ul > li').length

Более элегантный способ сделать это - написать

$('ul:empty').fadeOut();

Если ul не пуст, селектор ничего не будет соответствовать, и код ничего не сделает.

Возможно, вам понадобится написать

$('.SomeContainer:has(ul:empty)').fadeOut();

Ответ 2

использовать .length

$('ul li').length // gives you back all li in your ul
$('ul > li').length // give just the first children li's

поэтому, чтобы скрыть родителя, вы можете использовать его следующим образом:

elements = $('ul > li')

if (elements.length) {
   elements.fadeOut()
}else{
   elements.parent().fadeOut()
}

Ответ 3

Просто используйте .length для коллекции jQuery.

var $elements = $('ul#myUlElement').children('li');
alert($elements.length)