Нацеливание на родительские классы и добавление к ним класса

#jquery #html #css

#jquery #HTML #css

Вопрос:

Проще говоря, у меня есть одно меню, так сказать, подменю и подменю, а в подменю есть активная ссылка на класс .current-menu-item . Теперь я хочу пройти вверх по DOM, найдя его parent .menu-item-has-children и его parent .menu-item-has-children и добавить класс к ним обоим .current-menu-sub .

 $(".sidebar li.current-menu-item").parents().hasClass('menu-item-has-children') {
  $('.menu-item-has-children').addClass("current-menu-sub");
};
  

Это мой код, но что-то совсем не так.

Ответ №1:

Закрыть, но hasClass не является функцией поиска dom

Вам просто нужно передать родительский селектор (ы) в parents()

 $(".sidebar li.current-menu-item")
        .parents('.menu-item-has-children')
        .addClass("current-menu-sub");
  

Ответ №2:

Вы можете передать селектор .parents() и применить .addClass() ко всем тем, которые соответствуют, связав с ним этот метод:

 $(".sidebar li.current-menu-item").parents('.menu-item-has-children')
                                  .addClass("current-menu-sub");
  

Ответ №3:

Просто добавьте '.menu-item-has-children' родительский селектор в parents()

 $(".sidebar li.current-menu-item").parents('.menu-item-has-children').addClass("current-menu-sub");