jquery переключает класс на родительский элемент, если нажат какой-либо дочерний элемент класса?

#jquery

Вопрос:

У меня есть меню со следующим html-кодом.

 lt;div class="menu"gt;  lt;div class="foo"gt;  lt;div class="secondary" gt;  lt;a href="/#"gt;linklt;/agt;  lt;div class="bar" gt;  lt;div class="foo"gt;  lt;a href="/#"gt;linklt;/agt;  lt;/divgt;  lt;div class="foo"gt;  lt;a href="/#"gt;linklt;/agt;  lt;/divgt;  lt;/divgt;   lt;/divgt;  lt;/divgt;  

У меня есть 2 разных структуры элементов a

 .foo .secondary a  .foo .secondary .bar .foo a  

При a нажатии я хочу добавить класс в foo, который является родителем .secondary, когда нажимаются любые другие «а», я хочу удалить этот класс из foo, который является родителем .secondary

что-то похожее на

 $( ".foo gt; a" ).click(function() {  $( this ).closest(".secondary").closest(".foo").toggleclass("class"); });  

Как я могу этого достичь?

Спасибо

Ответ №1:

Ваше описание немного сбивает с толку, однако, если я правильно понимаю, вы хотите удалить класс из любых предыдущих элементов, которые были выбраны.

Что — то вроде этого должно помочь

 $( ".foo gt; a" ).click(function() {  // toggle the current foo  const $fooParent = $(this).closest('.foo').toggleClass("active-class")  // remove from any other foo  $('.foo').not($fooParent).removeClass('active-class') });