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