我正在使用$()。fadeOut()来淡出列表中的项目(< li>< / li>)。当列表为空时我希望隐藏父对象。
我打算通过检查触发器事件来完成此操作,如果对象的计数为0则忽略列表然后隐藏父元素。如果需要,我可以使用fadeOut回调删除元素。
关键问题: 如何在ul中选择li标签,然后使用jquery获取它们的总数?
答案 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)