Steffen Flämig: myImge.setAttribute("onclick", "testFunc");

Beitrag lesen

Hallo,

jetzt habe ich doch noch ein Problem:

An dieser Stelle ist „setAttribute“ aber ohnehin nicht sonnvoll…

Warum eigentlich? (Das ist jetzt aber nicht mein Hauptproblem ;-)

ing.onclick = function(){
testFunc();
}

Das ganze sitzt in einer Schleife. Dort werden mehere Bilder erzeugt und jedes soll dieses onclick Attribut mit der gleichen testFunc() aber unterschiedlichen Funktionsparametern bekommen, also ungefähr:

for (var index in list)
{
  var img = document.createElement("img");
  img.setAttribute("src", "http...");
  img.onclick = function()
  {
    testFunc(index)
  }
  parentDiv.appendChild(img);
  .
  .
  .
}
Wenn ich das ganze jetzt ausprobiere, haben alle img's in ihren testFunc's den hösten vorkommenden index Wert. Offensichtlich wird bei
img.onclick = function()
  {
    testFunc(index)
  }
_allen_ in dieser Schleife erzeugten img Objekten der jeweisl neue Wert zugewiesen.
Die mit setAttribute zugewiesenen Werte (z.B. src) sind wie gewünscht verschieden.

Gruß
Steffen