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

Jquery найти элемент по определенному классу, когда элемент имеет несколько классов

Итак, я работаю над тем, что не было хорошо продумано в сборке из бэкэнд-команды. Это оставляет мне документ, полный divs.

То, что я делаю, - это откат от элемента, который мне нужен, чтобы получить родительский контейнер, затем найдите элемент внутри родителя, который имеет class="alert-box warn", class="alert-box dead" и т.д.... По сути, я пытаюсь для использования нескольких селекторов классов для каждого элемента. Когда я пытаюсь найти только alert-box, похоже, что он работает неправильно. Я предполагаю, что он имеет warn, dead, `fine и т.д....

Как я могу найти только alert-box* или эквивалент концепции подстановочных знаков?

4b9b3361

Ответ 1

Вы можете комбинировать селектора типа

$(".alert-box.warn, .alert-box.dead");

Или если вы хотите, чтобы подстановочный знак использовал атрибут - содержит селектор

$("[class*='alert-box']");

Примечание. Предпочтительно вы должны знать тип элемента или тег при использовании селекторов выше. Знание тега может сделать селектор более эффективным.

$("div.alert-box.warn, div.alert-box.dead");
$("div[class*='alert-box']");

Ответ 2

Вы можете выбрать элементы с несколькими классами:

$("element.firstClass.anotherClass");

Просто соедините следующий класс с первым, без пробела (пробелы означают "дети из" ).

Ответ 3

var divs = $("div[class*='alert-box']");

Ответ 4

Элемент может иметь любое количество имен классов, однако он может иметь только один атрибут класса; только первый из них будет прочитан jQuery.

Используя код, который вы опубликовали, $(".alert-box.warn") будет работать, но $(".alert-box.dead") не будет.