У меня есть следующее:
<div class="attributes_set_1>
<label class="attributes"><input type="radio" value="1" /></label>
<label class="attributes"><input type="radio" value="2" /></label>
<label class="attributes"><input type="radio" value="3" /></label>
</div>
<div class="attributes_set_2>
<label class="attributes"><input type="radio" value="1" /></label>
<label class="attributes"><input type="radio" value="2" /></label>
<label class="attributes"><input type="radio" value="3" /></label>
</div>
Я пытаюсь добавить активный класс к любому из первых наборов переключателей при нажатии, но также удалять класс, если вы выбираете другой из одного и того же набора. Проблема в том, что мне нужно иметь возможность выбирать из следующего набора переключателей, не удаляя активный класс из любого другого набора.
Я пробовал несколько селекторов, но я думаю, что способ заставить его работать, это выбрать детей этого определенного родительского класса.
Как я могу выбрать только братьев и сестер определенного родительского класса, чтобы удалить активный класс?
$('.attributes').children().removeClass('active');
Как добавить активный класс к любому другому радио, на который я нажал, является ли он частью одного и того же брата или нет, как только я сделаю работу removeClass()?
$(this).addClass('active');
Спасибо кому-нибудь за помощь.
Попробуй это:
$(this).parent().siblings().find('.active').removeClass("active");
Предполагая, что this
переключатель, к которому вы добавили active
класс, вы можете найти братьев и сестер элементов родительских label
а затем удалить класс из его входных элементов
$(this).parent().siblings().find('input').removeClass('active');
Попробуй это:
$('.attributes input').click(function() {
$(this).addClass('active').parent().siblings('.attributes').find('input').removeClass('active');
})