Javascript-Pass-Element ein ID-Attribut als Parameter
Diese Anweisung funktioniert. Über den Klick auf den Knoten, bekomme ich eine Meldung das auf die Anzeige der ID.
newnode.setAttribute("onClick", "alert(this.id)");
Muss ich übergeben Sie den Wert der .id auf eine andere Funktion und bin kämpfen, um zu bekommen.
Versuch 1:
Die unten nicht arbeiten; ich verstehe, dass ich cant pass .id zu einer anderen Funktion, die nicht die gleiche Sache, weil diese ist nicht relevant, um nichts in der test-Funktion:
newnode.setAttribute("onClick", "test(this.id)");
function test(f){
alert(f);
}
Versuch 2:
var testvar = newnode.id;
newnode.setAttribute("onClick", "test(testvar)");
function test(f){
alert(f);
}
Warum ist testvar nicht erkannt in meinem setAttribute Linie?
Wenn
Seien Sie vorsichtig mit Funktionen innerhalb von Zeichenfolgen, da Sie Sie auslösen
Versuchen Sie dies:
Auch die Zuordnung der click-Ereignis als Attribut ist nicht eine sehr gute Idee. Verwenden Sie einfach
alert(this.id)
funktioniert, dann test(this.id)
arbeiten - alert()
ist nur eine Funktion.Seien Sie vorsichtig mit Funktionen innerhalb von Zeichenfolgen, da Sie Sie auslösen
eval
gibt, die unnötig ist zu 99% der Zeit.Versuchen Sie dies:
newnode.setAttribute("onClick", test(testvar));
Auch die Zuordnung der click-Ereignis als Attribut ist nicht eine sehr gute Idee. Verwenden Sie einfach
addEventListener
oder el.onclick = fn
. Beachten Sie auch, dass onclick
ist in der Regel kleingeschrieben.InformationsquelleAutor DVCITIS | 2013-01-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beispiel: http://jsfiddle.net/sHZeL/1/
InformationsquelleAutor Kevin Bowersox