Gibt es eine Möglichkeit, denselben Code für verschiedene Elemente auf der Seite auszuführen?
$('.class1').click(function() {
some_function();
});
$('.class2').click(function() {
some_function();
});
stattdessen etwas zu tun wie:
$('.class1').$('.class2').click(function() {
some_function();
});
Vielen Dank
.add()
funktioniert auch mit jquery-Objekten$('.class1, .class2')
und ist$('.class1').add('.class2')
? In welchem Fall sollten wir verwenden.add()
?Ich benutze normalerweise
on
anstelle vonclick
. Dadurch kann ich einer bestimmten Funktion weitere Ereignis-Listener hinzufügen.Ich hoffe es hilft!
quelle
Stellen Sie sicher, dass Sie ein Leerzeichen wie $ ('. Class1, space here.class2') einfügen, da dies sonst nicht funktioniert.
quelle
Einfach
$('.myclass1, .myclass2, .myclass3')
für mehrere Selektoren verwenden. Außerdem benötigen Sie keine Lambda-Funktionen, um eine vorhandene Funktion an das Klickereignis zu binden.quelle
Eine weitere Alternative, vorausgesetzt, Ihre Elemente werden als Variablen gespeichert (was häufig eine gute Idee ist, wenn Sie in einem Funktionskörper mehrmals darauf zugreifen):
Nutzt die jQuery-Verkettung und ermöglicht die Verwendung von Referenzen.
quelle
Wenn Sie Ihre Elemente als Variablen (jQuery-Objekte) haben oder behalten möchten, können Sie sie auch durchlaufen:
quelle
Fügen Sie eine durch Kommas getrennte Liste von Klassen wie folgt hinzu:
quelle
Wir können auch wie folgt codieren, ich habe hier ein Unschärfeereignis verwendet.
quelle
Ich habe einen Link zu einem Objekt, das viele Eingabefelder enthält, die von demselben Ereignis behandelt werden müssen. Also benutze ich einfach find () , um alle inneren Objekte zu erhalten, die das Ereignis haben müssen
Falls Ihre Objekte sind eine Ebene nach unten den Link Kinder () statt finden () Methode verwendet werden kann.
quelle
Zusätzlich zu den oben aufgeführten hervorragenden Beispielen und Antworten können Sie mithilfe ihrer Klassen auch zwei verschiedene Elemente "finden". Zum Beispiel:
Dies sollte "HelloWorld" ausgeben.
quelle