根据类查找div,检查列表,如果没有,则删除class

时间:2014-02-10 16:31:33

标签: javascript jquery

如果UL中不包含LI,我试图从UL类中删除“js”类。 这就是我所拥有的,无法让它发挥作用。

3 个答案:

答案 0 :(得分:0)

你可以这样做:

$.each($('.globalNavChild'), function() {
    var $this = $(this);
    if(!$this.find('li').length) {
        $this.removeClass('js').addClass('hide');
    }
});

<强> Fiddle Demo

答案 1 :(得分:0)

尝试类似的东西:

var foo = $('ul.js');
if(foo.length > 0 && foo.find('li').length == 0){
   foo.removeClass('js').hide();
}

答案 2 :(得分:0)

你必须找到这样的ul元素,它们不是(jQuery中的:not选择器,https://api.jquery.com/not-selector/)在jQuery中有:has选择器,https://api.jquery.com/has-selector/ )作为孩子的任何李。

找到后,您可以.removeClasshttps://api.jquery.com/removeClass/)删除不需要的课程,然后.addClasshttps://api.jquery.com/addClass/)添加您需要的课程。< / p>