Возникли проблемы при получении метода jQuery "not" и селектора, работающего над элементом body - PullRequest
0 голосов
/ 22 апреля 2019

Мне трудно понять, почему это работает не так, как ожидалось.

Я просто пытаюсь нацелиться на элемент body, но только , если делает not содержит класс .logged-in, но с помощью приведенного ниже кода я получаю журнал на консоли независимо от того, существует класс или нет.

if ($('body:not(.logged-in)')) {
    console.log('Hi!');
}

... или ...

if ($('body').not('.logged-in')) {
    console.log('Hi!');
}

Я что-то здесь упускаю?

1 Ответ

1 голос
/ 22 апреля 2019

Эти селекторы фактически пропускают (удаляют из целых выделенных элементов) элементы с классом logged-in.

Я рекомендую вам использовать атрибут length для проверки существования элемента.

if ($('body').find('.logged-in').length) { 
    console.log('Exists!');
}
...