Удалить класс для всех дочерних элементов

52

Учитывая следующий 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 он включен?

спасибо

Теги:
css-selectors

2 ответа

95
Лучший ответ

Это должно работать:

$("#table-filters>ul>li.active").removeClass("active");
//Find all `li`s with class `active`, children of `ul`s, children of `table-filters`
  • 1
    Спасибо, это помогло
  • 0
    вышеуказанное решение не работает в Chrome. поэтому я просто изменил его на $ ("# table-filters> li.active"). removeClass ("active") ;. Тя.
25

Вы также можете сделать следующее:

  $("#table-filters li").parent().find('li').removeClass("active");
  • 2
    Это возможно, но это труднее обрабатывать для jQuery, поэтому, если вы рассчитываете на быстрый ответ, вам следует использовать описанный выше метод. Кроме того, почему вы должны выбрать все «li», затем заставить родителя найти «li», а затем удалить активный класс? Немного непродуктивно ..
  • 0
    Как я упоминал выше, это еще один способ сделать это.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню