Как использовать hasClass для определения того, является ли класс НЕ тем классом, который я хочу?

Как использовать hasClass, чтобы он работал как doesNotHaveClass? Другими словами, вместо того, чтобы смотреть, является ли это определенным классом, он видит, не является ли он НЕ указанным классом. Могу ли я использовать восклицательный знак или что-то в этом роде?

Ответы

Ответ 1

Да, вы можете.

if (!$('element').hasClass('do-not-want')) {
    // This element does not have the .do-not-want class
}

Ответ 2

Однако, если вы пытаетесь использовать селекторы для поиска всех элементов, не имеющих класса, возможно, попробуйте следующее:

// find all divs that don't have "badClass" class    
$('div').not('.badClass').each(function(){}); 

Ответ 3

if (!$('a').hasClass('xyz')){
  ...
}

Ответ 4

Да, вы можете Согласно документации jQuery:

Метод .hasClass() вернет true, если класс назначен элементу, даже если другие классы тоже.

Так как функция возвращает логическое значение, вы можете использовать восклицательный знак, чтобы отрицать результат.

Ответ 5

Вы можете проверить, является ли возврат ложным:

if($(element).hasClass("class") === false) {...}