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)