Почему активируется меню третьего уровня при наведении на второе?
Решил сделать меню третьего уровня на тестовом макете. Но стокнулся с проблемой, что при наведении на активный элемент активируется и меню второго уровня и вложенное в него.
Ну сразу видно, что у вас неоднозначно определяется элемент: header nav .menu-item-has-children .
То есть это сразу и элементы второго уровня и третьего попадают в обработку. Плюс вы навешиваете видимость сразу на все ul внутри полученного. Они у вас и показываются сразу же. Старайтесь не привязываться к тегам, это очень плохая практика. Раскройте код меню целиком, увидите что там все циклично повторяется и все элементы попадают под обработку вне зависимости от уровня вложенности. JS то глюпый и не может понять, второй уровень у элемента или третий, пока вы сами ему это не докажете.