Можно ли удалить определенный класс CSS из всех элементов XYZ внутри элемента сразу?
Пример: удалить класс CSS active
из всех <a>
привязок в моем поиске div
.
Если да, то как?
Можно ли удалить определенный класс CSS из всех элементов XYZ внутри элемента сразу?
Пример: удалить класс CSS active
из всех <a>
привязок в моем поиске div
.
Если да, то как?
$("#mydiv a").removeClass("active");
Если поиск - это класс:
$("div.search a").removeClass("active");
Если поиск - это идентификатор:
$("#search a").removeClass("active");
Да. Вы делаете это так:
$("div a .className").removeClass("className")
Или, предположим, вы хотите сделать это только на определенном div, если у div есть атрибут id, вы можете сделать это:
$("#divIDValue a .className").removeClass("className")
С селекторами jQuery, # с некоторым текстом после того, как он ссылается на объект (div, span, anchor, whatever) с атрибутом id
, установленным для любого текста. Период относится ко всем объектам с тем именем класса, которое соответствует тексту, поступающему после периода. Как показано выше, вы можете вставить текст селектора. Итак, в приведенных выше примерах, вот что происходит:
Пример # 1
Пример # 2
id
, установленным в "divIDValue" className
Имейте в виду, что для всех объектов вашей страницы только один объект может иметь любое конкретное значение id
. Таким образом, у вас может быть два объекта с id
, установленными на 'divIDValue' - хотя ваша страница по-прежнему будет выглядеть нормально, jQuery найдет только первый элемент с id
. Классы, с другой стороны, могут использоваться для нескольких элементов (как вы, вероятно, уже знаете).
Более общее решение для удаления класса из любого возможного элемента.
// 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 возможных тегов.