Pseudoformate und Javascript

Orakel

Erfahrenes Mitglied
Hallo zusammen,

ich habe für eine Page für den Anchor Tag folgendes in einem Stylesheet stehen:
Code:
a.nav         { margin-top:2px; margin-left:2px; padding-top:3px; padding-bottom:3px;
                text-align:center; vertical-align:middle; }
a.nav:link    { border-style:outset; border-width:1px; display:block; color:#000055;
                text-decoration:none; font-weight:bold; }
a.nav:visited { border-style:outset; border-width:1px; display:block; color:#000055;
                text-decoration:none; font-weight:bold; }
a.nav:hover   { border-style:outset; border-width:1px; color:#550000;
                text-decoration:none; background-color:#FFAAAA; }
Funzelt auch problemlos.

Nun kann der User z. B. die Hintergrundfarbe für Links nach seinem persönlichen Empfinden ändern. Diese Veränderungen werden mittels Javascript realisiert. Auch das funktioniert reibungslos.

Nur passiert jetzt eines. Sobald die Hintergrundfarbe der Links geändert wurde, funktioniert der Hover Effekt nicht mehr. Die Änderung wird mittels folgender Scriptpassage durchgeführt:
Code:
    var oElement = parent.example.document.getElementById( szElementID );
    if( oElement )
      oElement.style[szStyleName] = szStyleValue;

Die Frage, die sich mir jetzt stellt ist: Gibt es auch eine Möglichkeit an die Pseudoformate wie "hover" oder "visited" per Javascript zu kommen?

Grüße
Das Orakel
 
An die Pseudoformate kommst du mit JS nicht ran :(
Eine Möglichkeit, den ungewünschten Effekt zu umgehen, wäre, von vornherein weitere Klassen für alle optionalen Formate anzulegen, und diese dann den Elementen zuzuweisen(besser gesagt anhängen):
Code:
<style type="text/css">
<!--
.nav         {color:silver;}
.nav:hover   {color:green}
.red         {color:red;}
.blue:hover  {color:blue;}
-->
</style>
....
<a class="nav"href="#"onclick="this.className=this.className+' red'">Klick mich rot</a><br>
<a class="nav"href="#"onclick="this.className=this.className+' blue'">Klick mich :hover-blau</a>
 
Hi Sven,

danke für die Antwort. hab ich mir fast gedacht. Deinen Vorschlag werde ich mir auf jeden Fall durch den Kopf gehen lassen.

Gruß
Das Orakel
 

Neue Beiträge

Zurück