Страницы

Поиск по вопросам

среда, 12 июня 2019 г.

Поиск по классу и логическое НЕ jquery

Добрый день. Вопрос такого характера: Я, нахожу класс для чтобы задать свойство элементу
if($('.class')) { $('.class').css('top', 10); }
Но при этом мне нужно еще одно условие, чтобы на странице не было другого класса
if($('.class') && !$('.class2') ) { $('.class').css('top', 10); }
Пробовал и так
$('.class1' && !'.class2')
Как сделать такое условие, я по разному пробовал не выходило. Объясните пожалуйста.


Ответ

Селектор jQuery $(...) всегда возвращает объект-обертку вокруг некоторого количества DOM-элементов, даже если этих элементов ноль. Результат селектора, как булевское значение, соответствует true. Вам следует проверять количество найденных элементов.
if ($('.class').length > 0 && $('.class2').length == 0) { $('.class').css('top', 10); }
или эквивалентное
if ($('.class2').length == 0) { $('.class').css('top', 10); }
так как в отсутствие элементов с классом class операция $('.class').css('top', 10); ничего не делает.

Комментариев нет:

Отправить комментарий