#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') });