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

255
16 июня 2017, 09:39

Добрый день. Вопрос такого характера: Я, нахожу класс для чтобы задать свойство элементу

if($('.class')) {
    $('.class').css('top', 10);
}

Но при этом мне нужно еще одно условие, чтобы на странице не было другого класса

if($('.class') && !$('.class2') ) {
    $('.class').css('top', 10);
}

Пробовал и так

$('.class1' && !'.class2')

Как сделать такое условие, я по разному пробовал не выходило. Объясните пожалуйста.

Answer 1

Селектор 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); ничего не делает.

READ ALSO
Почему улетел календарь?

Почему улетел календарь?

Есть такая страница сайта, на которой раньше в сайдбаре нормально работал bootstrap datepicker, после того как было переделано сайдбар со статичного...

252
Как применять css в webview при загрузке сайта?

Как применять css в webview при загрузке сайта?

Нужно применять css при загрузке сайта в webview, как это сделать?

210
Как добавить другую таблицу без общего индекса?

Как добавить другую таблицу без общего индекса?

Как добавить другую таблицу без общего индекса? Без JOINНапример

229