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)