Ответ 1
Да, вы можете.
if (!$('element').hasClass('do-not-want')) {
// This element does not have the .do-not-want class
}
Как использовать hasClass, чтобы он работал как doesNotHaveClass? Другими словами, вместо того, чтобы смотреть, является ли это определенным классом, он видит, не является ли он НЕ указанным классом. Могу ли я использовать восклицательный знак или что-то в этом роде?
Да, вы можете.
if (!$('element').hasClass('do-not-want')) {
// This element does not have the .do-not-want class
}
Однако, если вы пытаетесь использовать селекторы для поиска всех элементов, не имеющих класса, возможно, попробуйте следующее:
// find all divs that don't have "badClass" class
$('div').not('.badClass').each(function(){});
if (!$('a').hasClass('xyz')){
...
}
Да, вы можете Согласно документации jQuery:
Метод .hasClass() вернет true, если класс назначен элементу, даже если другие классы тоже.
Так как функция возвращает логическое значение, вы можете использовать восклицательный знак, чтобы отрицать результат.
Вы можете проверить, является ли возврат ложным:
if($(element).hasClass("class") === false) {...}