Kaspar Etter: Class-Änderung mit JS

Gibt es eine Möglichkeit, um das Attribut 'class' mit JavaScript zu ändern ?

Beispiel:

im CSS-Teil: .klasse1 {color:#FF0000;}  .klasse2 {color:#0000FF;}

im HTML: <p id="abschnitt" class="klasse1">Kleiner Text</p>

im JS-Teil: document.getElementById('abschnitt'). ? ='klasse2';

-> .class gibt es nicht und mit .style._ gibt es meinen Nachforschungen zufolge auch nichts passendes.

Kann mir irgend jemand weiterhelfen ? (um den Text als Folge einer Benutzereingabe mit 'klasse2' anzeigen zu können)
Ich bin nicht an Lösungen mit .style.color oder so interessiert - ich habe dieses Beispiel absichtlich auf das Notwendigste reduziert. (Nur das konkrete Ändern von Klassen wäre hilfreich.)

Vielen Dank !

Kaspar Etter

  1. Hallo Kaspar,

    Gibt es eine Möglichkeit, um das Attribut 'class' mit JavaScript zu ändern ?

    im CSS-Teil: .klasse1 {color:#FF0000;}  .klasse2 {color:#0000FF;}
    im HTML: <p id="abschnitt" class="klasse1">Kleiner Text</p>
    im JS-Teil: document.getElementById('abschnitt'). ? ='klasse2';

    Du suchst className

    Grüße
     Roland

    --
    Drucklayouts mit CSS gestalten
    Benutzerstylesheet für das SELFHTML-Forum
  2. Moin,

    -> .class gibt es nicht und mit .style._ gibt es meinen Nachforschungen zufolge auch nichts passendes.

    Ja, .class wäre unter Umständen eine reservierte Eigenschaften, deswegen heisst sie .className (mit dem for-Attribut von label-Elementen ist das übrigens ähnlich). Beim Ändern des Klassennamens ist aber zu beachten, dass unter Umständen mehrere Klassen, durch Leerzeichen getrennt, angegeben werden können. http://www.ploetzli.ch/forum-scripts/hilfsfunktionen.js zeigt wie es richtig[tm] geht (aus s5 von Eric Meyer).

    --
    Henryk Plötz
    Grüße aus Berlin
    ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
    ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~