Ho un po 'di codice funzionante, che attiva e disattiva la classe "attiva" quando si fa clic su un div swatch-wrapper.jQuery - Rimuovi classe da tutte le div tranne quella su cui ho fatto clic su
Tuttavia mi piacerebbe solo uno di questi div per avere la classe attiva alla volta. In questo momento potevo fare clic su tutti, e tutti avrebbero avuto la classe attiva. Non sono sicuro di come rimuovere la classe da tutte le altre div tranne per quella che ho appena cliccato.
Ho provato a utilizzare .parent(), ma non sembra funzionare/Non credo di usarlo correttamente.
HTML
<div class="variation_form_section">
<div class="select">
<div class="swatch-wrapper"></div>
<div class="swatch-wrapper"></div>
<div class="swatch-wrapper"></div>
</div>
</div>
JS
<script>
$(document).ready(function(){
$(".variation_form_section .select div").each(function() {
$(this).click(function() {
if($(this).hasClass("active")){
$(this).removeClass("active");
}else{
$(this).addClass("active");
}
});
});
});
</script>
Grazie @Mateusz Nowak, ma questo get di liberarsi della levetta funzioni pure. Mi piacerebbe comunque che rimuova 'attivo' se clicco su un div già attivo. Ho provato ad aggiungere la mia dichiarazione if, ma non ha funzionato: http://jsfiddle.net/conm54k2/1/ –
Non capisco cosa stai cercando di realizzare. Vuoi creare l'effetto Toggle (http://jsfiddle.net/conm54k2/2/) o farlo semplicemente controllando lo stato corrente (http://jsfiddle.net/conm54k2/3/)? –