molily: Zähler-Wert in for-Schleife an anonyme Fkt übergeben

Beitrag lesen

Hallo,

Wie kann ich für z.B. elems[7] diese 7 möglichst einfach "retten" in die anonyme Funktion?

Je nachdem, was du vorhast, gibt es, Kai hat es schon angedeutet ;), Alternativen zum Erzeugen von Closures und dem Speichern der Daten beim Element.

Wenn du in set_color ohnehin nur elems[i] benötigst, kannst du die Sache vereinfachen und set_color direkt das angeklickte Element übergeben.

elems[i].onclick = function () {  
  set_color(this);  
};

Siehe Zielelement des Events.

Oder du definierst set_color direkt als Handler-Funktion, dann verweist this darin auf das Element:

elems[i].onclick = set_color;  
  
function set_color () {  
  this.style.color = 'red';  
}

Oder du überwachst sämtliche click-Ereignisse beim Wrapper (Event-Delegation) und kannst auf die Schleife verzichten:

http://jsfiddle.net/saHkb/

Mathias