Подтвердить что ты не робот

JQuery Удалить класс CSS со всех потомков сразу

Можно ли удалить определенный класс CSS из всех элементов XYZ внутри элемента сразу?

Пример: удалить класс CSS active из всех <a> привязок в моем поиске div.

Если да, то как?

4b9b3361

Ответ 1

$("#mydiv a").removeClass("active");

Ответ 2

Если поиск - это класс:

$("div.search a").removeClass("active");

Если поиск - это идентификатор:

$("#search a").removeClass("active");

Ответ 3

Да. Вы делаете это так:

$("div a .className").removeClass("className")

Или, предположим, вы хотите сделать это только на определенном div, если у div есть атрибут id, вы можете сделать это:

$("#divIDValue a .className").removeClass("className")

С селекторами jQuery, # с некоторым текстом после того, как он ссылается на объект (div, span, anchor, whatever) с атрибутом id, установленным для любого текста. Период относится ко всем объектам с тем именем класса, которое соответствует тексту, поступающему после периода. Как показано выше, вы можете вставить текст селектора. Итак, в приведенных выше примерах, вот что происходит:

Пример # 1

  • Найти все divs
  • Поиск всех якорей во всех div
  • Находит все якоря из # 2, у которых есть класс .className

Пример # 2

  • Найти div с атрибутом id, установленным в "divIDValue"
  • Найти все теги привязки в этом div
  • Найти все теги привязки в этом списке тегов привязки, которые соответствуют имени класса className

Имейте в виду, что для всех объектов вашей страницы только один объект может иметь любое конкретное значение id. Таким образом, у вас может быть два объекта с id, установленными на 'divIDValue' - хотя ваша страница по-прежнему будет выглядеть нормально, jQuery найдет только первый элемент с id. Классы, с другой стороны, могут использоваться для нескольких элементов (как вы, вероятно, уже знаете).

Ответ 4

Более общее решение для удаления класса из любого возможного элемента.

// I like to use find as I usually have my wrapper in a variable.
$('#my-wrapper').find('.active').removeClass('active');

или

$('#my-wrapper .active').removeClass('active');

Это повлияет на все элементы в оболочке: span, h3, div, li, td и т.д. С html 5 теперь существует более 100 возможных тегов.