jquery - Übergabe von Parametern an Funktionen

7

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?

    
Audi 11.11.2010, 12:39
quelle

7 Antworten

12

In diesem Fall würde ich ein Attribut data- verwenden, wie folgt:

%Vor%

Und Ihr click -Handler kann es wie folgt abrufen:

%Vor%

Oder in jQuery 1.4.3 +

%Vor%

Sie können es hier testen .

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.

    
Nick Craver 11.11.2010 12:42
quelle
3

Sie können ein benutzerdefiniertes Attribut festlegen, das den Wert enthält, der an die Funktion übergeben werden muss. Etwas wie

%Vor%     
rahul 11.11.2010 12:43
quelle
3

Die Datenmethode ist ein guter Weg. Wenn ich es wäre, würde ich lieber keine HTML4-Validierungsfehler haben, indem ich die Sounds in einer Objektkarte definiere und dann den Text an diese Map weitergebe. Zum Beispiel:

%Vor% %Vor%

Arbeitsbeispiel: Ссылка

    
Andy E 11.11.2010 12:53
quelle
1

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

    
Brady 11.11.2010 12:43
quelle
1

Wenn ich Ihre Frage richtig verstanden habe, können Sie es so machen:

%Vor%     
Michel 11.11.2010 12:42
quelle
1

Wenn Sie diesen HTML-Code wirklich verwenden möchten:

%Vor%

Schreiben Sie das einfach:

%Vor%

oder

%Vor%

und auch

%Vor%     
danzcreation 20.04.2013 04:49
quelle
0

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.

    
Cristan 31.03.2013 17:23
quelle

Tags und Links