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