2016-06-23 21 views
-1

Ich habe mehrere divs, die beim Mausklick eine Klasse hinzufügen.Korrekter Weg zum Entfernen der Klasse beim zweiten Klick

Was ist die geeignete Methode, um die hinzugefügte Klasse auf diesem bestimmten div auf einen zweiten Klick auf dieses Element zu entfernen. Ich konnte die Klasse nicht entfernen.

jQuery('.icon-box').on('click', function() { 

    var isActive = false; 
    jQuery(this).addClass('clicked'); 

    if (jQuery(this).hasClass('clicked')) { 
    var isActive = true; 
    } 
    if (isActive) { 
    jQuery(this).removeClass('clicked'); 
    } 

}); 

JSFiddle Example.

Vielen Dank für das Feedback.

+1

Sie fügen geklickt Klasse bevor ich überprüfe, ob Element diese Klasse hat ... –

Antwort

2
jQuery('.icon-box').on('click', function() { 
if (jQuery(this).hasClass('clicked')) { 
    $(this).removeClass('clicked'); 
    } 
    else 
    { 
    $(this).addClass('clicked'); 
    } 

}); 
+0

Danke, für meinen besonderen Fall war es korrekt. –

2

Meinen Sie so etwas wie dieses:

jQuery('.icon-box').on('click', function() { 
    jQuery(this).toggleClass('clicked'); 
}); 

Fiddle: https://jsfiddle.net/csak9k4q/1/

Sie weitere Informationen über diese in den jQuery docs finden: http://api.jquery.com/toggleclass/

+0

Danke, das war mir nicht bewusst. Ich werde mehr darüber lesen. Für meinen speziellen Fall war es nicht korrekt. –