Wie ändert man ein Class-Attribut dynamisch?
Robert Kuhlemann
- javascript
Hallo,
hab irgendwie vergessen wie es geht bzw. ob es geht.
Beispiel: Habe eine class '< .XX { display=none } >' angelegt.
Frage: Wie kann ich die class '.XX' per Javascript ansprechen,
um die Eigenschaft 'display' zu modifizieren?
Soll laufen unter IE5.x
Danke im Voraus
Robert
Hallo Robert!
Einfach in JavaScript über die ID des Elements ansprechen:
ID.className = "NameDerKlasse"
Das wars schon.
Viele Grüsse
Alex
Hallo Robert!
Einfach in JavaScript über die ID des Elements ansprechen:
ID.className = "NameDerKlasse"
Das wars schon.
Viele Grüsse
Alex
Danke!
Leider noch nicht begrappelt..
ID's spreche ich z.B. mit 'document.all.YY[i].style.display' an.
Dazu brauche ich eine for-Schleife mit i.
Das weiß ich und es funktioniert auch.
Ich möchte aber mit EINEM Befehl ALLE tags erwischen, die zur
Class .XX gehören. Also nicht die ID sondern die CLASS ansprechen.
Kannst Du deine Lösung nochmal näher erläutern?
Das wäre nett!
Robert
Hallo Robert!
Erklärung zu meinem Beispiel:
Du hast zum Beispiel ein <div> mit der ID a1 und der Klasse Head zugewiesen. <div id="a1" class="head">
Wenn du nun die Klasse von Head in Foot wechseln willst, kannst du folgendes in Javascript tun:
a1.className = "foot"; oder
document.all['a1'].className = "foot"; oder
document.getElementById('a1').className = "foot";
Das ist aber eigentlich nicht, was du wolltest.
Du möchtest mit einem Befehl alle Klassen wechseln.
Meiner Meinung nach, bleibt dir nichts anderes übrig, als eine for-Schleife zu basteln in der du erst die Klassennamen ausliest, miteinander vergleichst und dann neu beschreibst.
Ungefähr so:
for (i=0;i<document.all.length;i++)
{
if (document.all[i].className == "head")
document.all[i].className = "foot"
}
Viele Grüsse
Alex
OK! Danke!
Mit einer Schleife hatte ich es realisiert.
Dachte, es ginge irgendwie eleganter..
Robert
hab irgendwie vergessen wie es geht bzw. ob es geht.
Beispiel: Habe eine class '< .XX { display=none } >' angelegt.
Frage: Wie kann ich die class '.XX' per Javascript ansprechen,
um die Eigenschaft 'display' zu modifizieren?
Soll laufen unter IE5.x
http://www.styleassistant.de/tips/beispiel68.htm sollte helfen, da document.getElementById(...) ab IE 5.0 funktioniert (und das immerhin seit 1999).
MfG, Thomas