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 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

Schreibe einen Kommentar