Javascript: Styleattribute verändern

Alle sonstigen Themen wie Fragen zur IDE, Fehler, Paketierung, ...
Antworten
tux_
Moderator
Beiträge: 946
Registriert: Di 11. Nov 2008, 20:05
Kontaktdaten:

Javascript: Styleattribute verändern

Beitrag von tux_ » Mi 15. Jul 2009, 18:06

Ähm,
ich hoffe mal, dass mir hier jemand helfen kann, weil ich nicht wirklich in anderen foren angemeldet bin und deshalb auch nicht behaupten kann, dass ich glaube, dass dort oft reingeschaut wird.
Ich möchte per Javascript styleattribute von elementen verändern, ich hatte mir dieses konstrukt ausgedacht:

Code: Alles auswählen

...
<script type="text/javascript">
function aendern(elemente,attribute,werte) {
   /* löst alle durch Kommata getrennten IDs, Attribute und Werte in ein Array auf */
   element_array = elemente.split(',');
   attribut_array = attribute.split(',');
   wert_array = werte.split(',');
   /* Beginnt, jede Stufe zu bearbeiten */
   for (var i = 0; i < element_array.length; i++) {
      var element = document.getElementById(element_array[i]);
      element.style.setAttribute(attribut_array[i], wert_array[i], true)
   }
}
</script>
...
<body id="body" style="background-color:#FFFFFF;">
<div id="box" style="background-color:#000000;">
<h1 id="erste_ueberschrift" style="color:#FF0000;">wie auch immer</h1>
</div>
<input type="button" onclick="aendern('body,box,erste_ueberschrift','backgroundColor,backgroundColor,color','#000000,#FFFFFF,00FF00');">
</body>
...

mir geht es darum, in stufen, die ich manuell eintragen kann, also body, box, erste_ueberschrift, ... in der reihenfolge mit den attributen und werten auf der gleiche stufe der anderen arrays zu behandeln.
leider kann ich ja, aufgrund der variablen nicht wie gewohnt so verfahren:

Code: Alles auswählen

element.style.attribut_array[i] = wert_array[i]


weil ja dann nicht die variablen umgesetzt werden, oder?
leider funktioniert bei meinem firefox die .setAttribute()-Variante nicht, beim IE schon, gibt es vielleicht andere wege, die aber mit meinem konstrukt (die stufenweise abfertigung) klargehen?

hoffe, ihr könnt mir auch dabei helfen, tux
Achtung: Es passiert, dass ich einen frisch geschrieben Beitrag innerhalb von 10 Minuten noch 3-4 Mal aendere!

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast