Добрый день. Вопрос такого характера:
Я, нахожу класс для чтобы задать свойство элементу
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); ничего не делает.
Комментариев нет:
Отправить комментарий