Struppi: Dynamische Objektnamen ohne eval ?

Beitrag lesen

Hallo,

ich generiere den Zugriff auf die CSS-Eigenschaften eines DIV-Containers über mehrere Arrays. Falls möglich würde ich das gerne ohne eval erreichen, aber selbst mit erhalte ich grundsätzlich die Fehlermeldung "missing ; before statement" unabhängig ich welchem Script-Kontext die Anweisung steht. Ein Beispiel für die Generierung:

info[0][0] = "nameDiv";
info[0][1] = "style.top";

var1 = "document.getElementById("" + info[0][0] + "")." + info[0][1] + " = 30px";
eval(var1);

eval ist evil.
Es gibt nur wenige sinnvolle Verwendungsmöglichkeiten für eval und deiner ist 100% keiner.

Außerdem solltest du bei Problemen das was du versuchst auch überprüfen  dann findest du vielleicht sogar selber den Fehler.

info[0][0] = "nameDiv";

var obj  = document.getElementById(info[0][0])
if(obj)
{
    obj.style.top = "30px";
}
else
{
    alert('Das Element mit dem Namen: ' + info[0][0] + ' existiert nicht.');
}

Struppi.