JQuery – 如何计算选择器选择的元素数量?
我使用$()。fadeOut()来淡出列表中的项目(
)。 当列表为空时,我希望隐藏父对象。
我打算通过检查触发器事件来完成此操作,如果对象的计数为0则忽略列表然后隐藏父元素。 如果需要,我可以使用fadeOut回调删除元素。
关键问题: 如何在ul中选择li标签,然后使用jquery获取它们的总数?
像这样:
$('ul > li').length
更优雅的方式就是写作
$('ul:empty').fadeOut();
如果ul
不为空,则选择器将不匹配任何内容,代码将不执行任何操作。
你可能需要写
$('.SomeContainer:has(ul:empty)').fadeOut();
使用.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() }
只需对jQuery集合使用.length
。
var $elements = $('ul#myUlElement').children('li'); alert($elements.length)