删除所有子元素的CLASS


78

鉴于以下HTML:

<div id="table-filters">
    <ul>
        <li class="active">blah</li>
        <li>blah</li>
        <li>blah</li>
        <li>blah</li>
    </ul>
</div>

使用表过滤器作为jQuery选择器,CLASS=ACTIVE无论LI碰巧处于哪个位置,我如何清除具有的元素?

谢谢

Answers:


130

这应该工作:

$("#table-filters>ul>li.active").removeClass("active");
//Find all `li`s with class `active`, children of `ul`s, children of `table-filters`

1
上述解决方案不适用于Chrome。因此,我只是将其更改为$(“#table-filters> li.active”)。removeClass(“ active”);。Tq。
chandoo '17

37

您也可以这样:

  $("#table-filters li").parent().find('li').removeClass("active");

2
这是可行的,但对于jQuery来说却很难处理,因此,如果您希望快速响应,则应使用上述方法。另外,为什么还要选择所有“ li”,然后让父级找到“ li”,然后删除活动班级呢?有点无用..
Warre Buysse 2013年

如上所述,这是另一种方式。
insomiac 2013年

这是当选择本身过于宽泛有益的,要限制为单个的孩子parent元素。
杰森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.