Liste nimm nur letztes element

Status
Nicht offen für weitere Antworten.
J

javascript

Gast
Hallo allerseits.

Kleine frage zu JavaScript die mich sehr verwirrt

Folgendes:
Code:
function test(hallo){
alert(hallo);
}

function ...

for (var key in test){

var aName = document.createElement("a");
aName.onclick = function() { test(key) };
aName.innerHTML = "BLA";

document.appendChild(aName);
}

Wenn ich nun das ganze laufen lasse und den onlick machen will,
erscheint immer der selbe Alert. test ist eine Liste von verschiedenen Elementen.
Eigentlich dachte ich, dass der key spezifische Alert kommt, aber bei 10
Elementen erschein immer nur das letzte Element in der Liste.

Vielleicht könnt ihr mir ja weiterhelfen

Danke im voraus
 
S

SlaterB

Gast
ganz dumm ohne Ahnung von JavaScript gefragt:
definierst du da nicht 10x das gleiche Element a im Dokument?
so dass am Ende nur ein Element a da ist, die anderen überschrieben?

was für 10 unterschiedliche Elemente sollen das denn sein, wenn du sie alle auf die gleiche Weise erstellst?
womit sind sie verknüpft, wann & wie werden sie ausgeführt?
 
J

javascript

Gast
Nein. Es sind 10 (zB) Elemente.Danke für die Antwort. Mitlerweilen hab ichs rausgefunden. Das Problem ist das einen annonyme Funktion immer an die gleiche Variable gebunden wird (bei mir key).

ich konnte es damit lösen:

var testtest = function(p) { return function(){ test(key) }} ;

und mit

testtest(key) aufrufen
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben