[JavaScript] einzelne Style-Sheet Attribute setzen (Browser-unabhängig)

Ghoose1

Cadet 3rd Year
Registriert
Apr. 2004
Beiträge
42
Hallo,

ich habe hier ein Problem mit dem style Object, welches ich einfach nicht lösen kann: ich möchte folgende Funktion schreiben:

function setCSS( obj, attr, value)

- obj ist das Object, auf das sich die Funktion bezieht und wo der Style geändert werden soll
- attr ist das Attribut, welches geändert werden soll (also z.b. backgroundColor)
- value ist der Wert, der gesetzt werden soll (z.b. "#FFFFFF")

Soo ... problem ist jetzt nur: IE versteht obj.style.attr = value nicht, sondern nur setAttribute ... Firefox/Netscape/etc, versteht natürlich setAttribute nicht.

Lösung ist einfach:
Code:
function setCSS( obj, attr, value) {
if (document.all)
  //IE
  obj.style.setAttribute(attr, value, true);
else
  //Andere Browser
  obj.style.attr = value;
}
}

Aber bei obj.style.attr liegt der Knackpunkt - Firefox versteht das nicht (dass er statt einem String "backgroundColor" das gleichnamige Objekt ansprechen soll) - ist ja auch logisch. Kann mir da jemand einen Workaround liefern? Also dass ich ein Objekt/Attribute ansprechen kann, dessen Namen ich nur in einer Variable liefern kann? Habe leider nichts über die Suche gefunden und in der Objectreferenz auch nicht :(

Vielen Dank schonmal.

Gruß
 
Zuletzt bearbeitet:
Zurück
Oben