Gunnar Bittersmann: Werte in dynamisch erzeugte Funktion einsetzen

Beitrag lesen

Egal welchen der Links ich anklicke, es wird der Wert für ix ausgegeben, der zum Klickzeitpunkt aktuell ist (in dem Fall also immer die 10). Ich hätte aber gerne den Wert, der zum Erzeugungszeitpunkt der Funktion aktuell ist. Wie kann ich den in die function einsetzen?

Andreas,
Da fällt mir nur ein, den zum Erzeugungszeitpunkt zu dem jeweiligen a-Element dazuzuschreiben. Zum Beispiel ein in id-Attribut, da dessen Wert aber keine Zahl sein darf, nehme ich mal das title-Attribut:

for (var ix = 0; ix < 10; ix++)  
{  
  var aLink = document.createElement("a");  
  aLink.href="#link_no_" + ix;  
  aLink.onclick = function() { alert('clicked ' + this.getAttribute("title")); return false; }  
  aLink.appendChild(document.createTextNode("Link Nr. " + ix));  
  aLink.setAttribute("title", ix);  
  parentOfLinks.appendChild(aLink);  
  parentOfLinks.appendChild(document.createTextNode(" "));  
}

Live long and prosper,
Gunnar

--
„Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)