JQuery - 如何计算选择器选择的元素数量?

时间:2010-04-21 20:39:45

标签: javascript jquery

我正在使用$()。fadeOut()来淡出列表中的项目(< li>< / li>)。当列表为空时我希望隐藏父对象。

我打算通过检查触发器事件来完成此操作,如果对象的计数为0则忽略列表然后隐藏父元素。如果需要,我可以使用fadeOut回调删除元素。

关键问题: 如何在ul中选择li标签,然后使用jquery获取它们的总数?

3 个答案:

答案 0 :(得分:27)

像这样:

$('ul > li').length

更优雅的方法是写

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

如果ul不为空,则选择器将不匹配任何内容,代码将不执行任何操作。

您可能需要写

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

答案 1 :(得分:11)

使用.length

$('ul li').length // gives you back all li's 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()
}

答案 2 :(得分:5)

只需对jQuery集合使用.length

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