• User

    Rimuovere/aggiungere classe onclick label

    Salve a tutti,
    vorrei aggiungere e togliere la classe sulla label come segue:

    
    
            <label id="show">Visualizza Liste</label>
    
    
            <script>
                $(document).ready(function(){
    					$("#show").click(function(){
    						$("label#show").addClass('test');
    					});
    					$(".test").click(function(){
    						$("label.test").removeClass('test');
                    });
                });
            </script>
    
    
    

    Funziona il primo click (infatti mi aggiunge la classe), ma al secondo click non mi toglie la classe..
    Why?!

    Grazie a tutti 🙂


  • User

    Ciao,
    potresti usare toggleClass al posto di addClass/removeClass. Non conosco lo scopo del tuo codice, probabilmente ti serve aggiungere una classe test ad un elemento per usarla poi in altre parti dello script. Tieni presente però che in questo caso, ogni volta che clicchi sul pulsante viene aggiunta la classe test, quindi al primo click l'elemento avrà class="test", al secondo click avrà class="test test" e così via.

    Ti consiglio inoltre di riferti all'oggetto di un evento con $(this) in modo da non coinvolgere tutti gli altri elementi della pagina con le stesse caratteristiche (quindi con class="test".

    ecco il codice usando toggleClass()

    
    <label id="show">testo</label>
    <script>
    $( '#show' ).click(function(){
    $(this).toggleClass( 'test' );
    });
    </script>
    
    

    In questo caso, se l'elemento non ha la classe test, viene aggiunta, se invece ha quella classe, viene rimossa.