@zahar_92

Почему выполняется условие?

Всем привет!
Я не силен в JS и jQuery и не могу понять почему все время выполняется условие, если у родителя нет класса active. Задача, чтобы при наличии класса active у родителя a.light-link появлялся block-2, а block-1 исчезал. С приведенным кодом условие if все время верное, хотя класса active нет.
<ul>
<li class="sp-menu-item"><a class="light-link" href="/url1">Ссылка 1</a></li>
<li class="sp-menu-item"><a href="/url2">Ссылка 2</a></li>
</ul>
<div class="block-1">Текст 1</div>
<div class="block-2">Текст 2</div>

if ($('a.light-link').parent('li.active')) {
  $('.block-2').show();
  $('.block-1').hide();
} else {
  $('.block-2').hide();
  $('.block-1').show();
}
  • Вопрос задан
  • 137 просмотров
Решения вопроса 1
@kacheleff
fullstack developer
метод parent возвращает объект. Попробуйте проверить свойство length

if ($('a.light-link').parent('li.active').length)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы