Das scheint eine einfache Frage zu sein, aber ich kann keine einfache Antwort finden. Also fange ich mit einem einfachen Beispiel an.
%Vor%Und hier ist eine JavaScript-Funktion ...
%Vor%Im obigen Beispiel kann zusätzlicher Inhalt (Zeilen von HTML) hinzugefügt werden, ohne das Verhalten (das Javascript) zu brechen. Jede Zeile von HTML übergibt einen eigenen Parameter an das Javascript, um ihm mitzuteilen, welche Nachricht es anzeigen soll.
Wenn der HTML-Code geändert wird in ...
%Vor%Wie schreibe ich dann eine jquery-Funktion, die weiß, auf welche Zeile von html geklickt wurde? Mit anderen Worten ...
Wie gebe ich einen Parameter an eine jquery-Funktion?
In diesem Fall würde ich ein Attribut data-
verwenden, wie folgt:
Und Ihr click
-Handler kann es wie folgt abrufen:
Oder in jQuery 1.4.3 +
%Vor%Zur Klärung anhand von Kommentaren: Das ist in HTML5 absolut korrekt, in HTML4 ist es nicht gültig , aber der Validator ist das einzige Problem, das Sie haben werden, es ' Ich arbeite in jedem HTML4 Browser. Wenn es nicht in HTML4 fehlte, wäre es in HTML5 nicht hinzugefügt worden ... Ich würde persönlich es verwenden, ob es validiert oder nicht.
Erstens, um Ihnen zu ermöglichen, Code anzuzeigen, platzieren Sie den Code in Ihrem Beitrag, wählen Sie ihn aus und drücken Sie Strg + K, um den Codeblock einzufügen.
Zurück zu Frage in jquery verwenden Sie:
%Vor%Sie können "this" verwenden, um herauszufinden, worauf geklickt wurde
Wenn Sie diesen HTML-Code wirklich verwenden möchten:
%Vor%Schreiben Sie das einfach:
%Vor%oder
%Vor%und auch
%Vor%Mit der Ein-Funktion (oder die Click-Funktion ab jQuery 1.4.3), können Sie Event-Daten auf wirklich nette Weise weitergeben:
%Vor%Der Hauptvorteil ist, dass der Wert in event.data.item derselbe ist wie der Parameter (in diesem Fall "i") zum Zeitpunkt der Erstellung des onClick. Dies ist praktisch, da Sie sich in diesem Fall keine Gedanken über den Wert von i machen müssen, der sich ändert, während die for-Schleife läuft.
Tags und Links javascript jquery