Добавить класс через jquery, но только тогда, когда он не существует
Я хотел бы добавить класс (class= "bbox" ) в ul-list, но только если класс не существует.
Это то, что я до сих пор. Как я могу проверить с jquery, если класс существует в ul-tag?
$("ul").addClass("bbox");
Ответ 1
Если вы хотите проверить, существует ли определенный класс, выполните следующие действия:
Если вы хотите проверить, существует ли какой-либо класс:
if ($('ul').attr('class') == '') {
$("ul").addClass("bbox");
}
Ответ 2
karim79 вы почти получили его!
Позвольте мне исправить вас
$("ul:not([class*='bbox'])").addClass("bbox");
Вы сопоставляете тег с абсолютными классами, и если у ul были другие классы, сопоставление не было бы выполнено. Вы должны искать именно тот класс, который хотите добавить. Как и .hasClass aproach.
надеюсь, что это поможет
Ответ 3
Мне было интересно, что это будет хорошо работать →
$("ul").removeClass("bbox").addClass("bbox");
Сначала он удалит, если он есть, а затем добавит новый. Работала лучше для меня, поскольку я слишком ленив, чтобы набрать все, что if thingy.
Ответ 4
Просто используйте $('.selector').addClass("myClass");.
Функция jQuery add/remove выполняет проверку на наличие дубликатов внутри, что означает, что вызов addClass только дважды добавит класс один раз.
Ответ 5
Лаконично:
// fine, because nothing happens if
// there are no matching elements
$("ul[class='']").addClass("bbox");
Ответ 6
вы можете использовать этот код для добавления класса только в том случае, если он не существует