eval() - IE Problem
T-Rex
- javascript
Hoi Leute,
hab folgenden Code (vereinfacht):
function setStyle(eigenschaft,wert)
{
var obj = document.getElementById('test');
eval("obj.style."+eigenschaft+"= wert;" );
}
setStyle("display","none");
Ich möchte mit setStyle eine übergebene Eigenschaft stylen. Im Firefox funktioniert das wunderbar, bloß der IE mal wieder :(.
Es kommt die Fehlermeldung: "Die display Eigenschaften wurden nicht gefunden. Ungültiges Argument."
Hab schon per Try and Error einige Verrückt Sachen probiert...hat aber nix gebracht.
Hilfe...:(
Gruß zur Mitternacht
T-Rex
eval() ist in dem Fall unnötig -- allgemein kann und sollte man auf eval() bis auf gewisse Ausnahmefälle verzichten. Wenn du eine Eigenschaft ansprechen willst, dessen Name du in einem String vorliegen hast (z.B. "display"), dann kannst du einfach notieren:
obj.style["display"] = wert;
Mit Variable dann:
obj.style[eigenschaft] = wert;
Löst das im IE ebenfalls einen Fehler aus? Würde mich wundern.
Mathias
eval() ist in dem Fall unnötig -- allgemein kann und sollte man auf eval() bis auf gewisse Ausnahmefälle verzichten. Wenn du eine Eigenschaft ansprechen willst, dessen Name du in einem String vorliegen hast (z.B. "display"), dann kannst du einfach notieren:
obj.style["display"] = wert;
Mit Variable dann:
obj.style[eigenschaft] = wert;
Löst das im IE ebenfalls einen Fehler aus? Würde mich wundern.
Mathias
Mensch so ein Mist....
hätte auch so funktioniert nur in wert stand "false" und damit kann der IE anscheinend nix anfangen.
Werde trotzdem deinen Rat beherzigen. Ich mag eval() auch nicht wirklich, aber ich wußte mir nicht anders zu helfen.
Danke Mathias!
Hi,
hätte auch so funktioniert nur in wert stand "false" und damit kann der IE anscheinend nix anfangen.
natürlich nicht. Der Wert ist für die Eigenschaft ungültig. Auch wenn man Code per JavaScript erzeugt, ist Validität das Alpha und Omega.
Cheatah