Hallo Ich habe eine Frage, die alle Klassen zurückgesetzt, wenn Sie eine Taste drücken. Ich habe den folgenden HTML-Setup:Entfernen Sie alle Klassen von mehreren Objekten, wenn Sie eine Reset-Taste drücken
<a class="test testclass">Test 1</a>
<a class="test testclass">Test 2</a>
<a class="test testclass">Test 3</a>
<a class="reset_all_classes">RESET ME</a>
Mit dem folgende jQuery:
$('.test').click(function(){
$(this).toggleClass('testclass testclass-active');
})
// Reset by removing all the testclass-active on all the <a>
$('.reset_all_classes').click(function(){
$('.test').toggleClass('testclass-active testclass');
})
Jedes Mal, wenn ich einen Hyperlink enthält die Klasse drücke test
dann die Klasse: testclass
wird in testclass-active
geändert werden. Das Problem liegt innerhalb, wenn Sie zum Beispiel Test 1 und Test 3 ausgewählt haben. Beide haben die testclass-active
dann, wenn ich die Reset-Taste drücken alle diese Hyperlinks werden in den Standardzustand zurück: testclass
. Aber im Gegensatz Button 2 wird die testclass-active
Also ich frage mich, wie könnte ich die Situation erreichen, wo die Tasten: test1 und test3 die Klasse testclass-active
haben und wenn ich die Reset-Taste drücken alle Schaltflächen auf ihre Standardklasse zurückkehren: testclass
.
Paßt toggleclass wirklich zu entfernen? Das heißt, wenn ein Objekt NICHT die Klasse hat, wird es hinzugefügt ... Ich würde stattdessen "removeClass" verwenden (nur im Reset-Teil). Übrigens sollten Sie ".on" -Ereignishandler verwenden (wie $ (document) .on ('click', 'item', func() {}) ... – Julo0sS
Danke für Ihre Antwort? Könnten Sie bitte näher erläutern, warum '. ? auf‘Ereignis – Rotan075