Robert Kuhlemann: Wie ändert man ein Class-Attribut dynamisch?

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

  1. Hallo Robert!

    Einfach in JavaScript über die ID des Elements ansprechen:
    ID.className = "NameDerKlasse"

    Das wars schon.

    Viele Grüsse
    Alex

    1. 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

      1. 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

        1. OK! Danke!

          Mit einer Schleife hatte ich es realisiert.
          Dachte, es ginge irgendwie eleganter..

          Robert

  2. 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