Показать сообщение отдельно
  #1 (permalink)  
Старый 13.01.2020, 20:37
Интересующийся
Отправить личное сообщение для mbrogan Посмотреть профиль Найти все сообщения от mbrogan
 
Регистрация: 12.09.2016
Сообщений: 12

Закрытие дочернего меню при повторном клике на родительское
Здравствуйте. Не получается заставить корректно работать раскрывающееся меню. Задача - при повторном клике на родительский элемент закрывать дочерний.

Структура:

<li class="first"><span>Пункт 1</span>
   <ul class="first-child"><li class="second"><span>Подпункт</span><ul class="first-child-child"><li class="third">Под-подпункт 1</li></ul></li>


Скрипт раскрытия меню

$(".second").click(function(e) {
     e.preventDefault();
     $(".second").removeClass('active');
     $(this).addClass('active');
 });


Но проблема в том, что этот скрипт действует и на дочерних элементах. И когда я ставлю проверку на наличие класса 'active', и удаления его при повторном клике - скрипт срабатывает на клике внутри дочернего меню и оно сворачивается.

if($('.second').hasClass('active')) {
            $('.second').removeClass('active'); }


Вопрос: как поставить проверку наличия класса 'active' только на клик родительского элемента исключая это действие внутри дочерних?

Спасибо
Ответить с цитированием