2009-03-23 11 views
-1

Ich möchte eine weitere Textdekoration-Klasse mit Hilfe von JavaScript zu dem Link hinzufügen, dem bereits eine Klasse zugeordnet ist.Wie füge ich eine andere Textdekoration Definition mit Javascript hinzu?

Ich möchte etwas wie die <a> aktivierten Link sollte die haben, aber ich bin nicht in der Lage, es mit CSS zu tun, weil es auf alle Links angewendet wird, wenn ich eine neue Klasse von keine Dekoration deklarieren.

Wie ist das mit JavaScript möglich?

+0

wath meinst du genau für "a activated"? – alexmeia

+0

aktiviert bedeutet die Verbindung ich bin tatsächlich vorhanden .. geklickt und auf der Seite erreicht .. – terrific

+0

verstehe ich nicht. – alexmeia

Antwort

2

Sie können es wie folgt tun:

var elem = document.getElementById('ELEMENT_ID_HERE'); 
elem.style.textDecoration = 'none'; 
+0

was sollte in der "element_id_here" ??? – terrific

+0

die ID Ihres Elements – TStamper

+0

mein Element hat eine Klasse und nicht die ID – terrific

0

Wenn Sie CSS-Klassen verwenden möchten:

var element = document.getElementById(idOfElement); 
element.className = element.className + " noDecorationClass"; 

Dies fügt eine neue Klasse an das Element, dass Sie auch die vorhandene überschrieben.

element.className = "noDecorationClass"; 
0

Ich würde empfehlen, ein Framework wie mootools (http://mootools.net/) zu verwenden.

Mit Rahmen seiner so einfach wie:

element.addClass('my_new_css_class'); 

oder Sie könnten nur einen neuen Stil hinzufügen

element.setStyle('text-decoration', 'none'); 
1

Wenn Sie eine eindeutige ID auf alle Links gesetzt Sie verwenden und dann beziehen sich auf Der Link in Ihrem Skript können Sie ändern, welche Links Sie ändern möchten von:

document.getElementById('YourLinksId').style.textDecoration = 'overline'; 
document.getElementById('yourLinksId').onmouseover.style.textDecoration = 'blink'; 

Der Stil, den Sie direkt festlegen ly auf dem Element überschreibt alle in der css-Klasse gesetzten Attribute.

Bearbeiten: Sorry, ich glaube, ich habe Ihre Frage missverstanden. Wenn Sie als aktiviert bedeuten, wenn der Link angeklickt wurde, Mouseover ect können Sie wie folgt vorgehen:

a:link {color: #FF0000}  /* unvisited link */ 
a:visited {color: #00FF00} /* visited link */ 
a:hover {color: #FF00FF} /* mouse over link */ 
a:active {color: #0000FF} /* selected link */ 

Weitere Ressourcen w3schools

+0

das a: active dient nur dem Zweck des mouseover aber sagen, wenn ich den Link geklickt habe und auf dem anderen Alter .. zu dieser Zeit möchte ich, dass mein Link ohne Dekoration ist .. – terrific

+0

Sie tun dies durch Einstellung: a: besuchte {text-decoration: none} in deinem CSS. Haben Sie darüber nachgedacht? –

0

Ein aktiver Link ist nur aktiv, während es auf geklickt wird.

Sobald Sie die Maustaste loslassen, ist es nicht mehr hat ein aktiv Zustand. Daher können Sie einen a: aktiven verwenden, der für alle Links gilt, da jeweils nur einer aktiv sein wird.

Ich vermute, dass Sie wirklich wollen, dass es Ihre Text-Dekoration behält: keine, bis ein anderer Link geklickt wird, in welchem ​​Fall Sie JavaScript benötigen. Wenn ich falsch liege, folge einfach @ ChrisADs Beispiel, aber füge hinzu:

a:active {color: #0000FF; 

    text-decoration: none; 

} /* selected link */ 
Verwandte Themen