Ich möchte, dass der angeklickte Link eine andere Farbe (oder ggf. andere Formatierungseigenschaften wie z.B. Fettdruck) bekommt, also wenn der Text darunter ausgeklappt ist - gegenüber der Textfarbe dieses Links, wenn der Text darunter noch nicht aufgeklappt wurde bzw. wieder eingeklappt wurde.
Ich hab's mit:
e.style.display="block;font-weight:bold"
probiert, aber dann tut es gar nichts mehr (von wegen ausklappen).
Schau dir die Originalzeile nochmal genau an, javascriptiges e.style.display="block" entspricht CSS-seitig der Anweisung display:block. Das Schema ist also e.style.[CSS-Eigenschaft]="[Wert]".
Für mehrere Eigenschaften wäre dementsprechend nachfolgendes korrekt:
e.style.display="block";
e.style.fontWeight="bold";
Ein paar Zeilen über http://de.selfhtml.org/javascript/objekte/style.htm#style_eigenschaften findest du ein Beispiel.
Dies aber nur als Theorie, denn wir ändern immer noch nur das Element, dessen ID im Argument a übergeben wurde. Du möchtest aber zwei bearbeiten.
Probier's stattdessen hiermit:
<head>
<script>
function tricker(schalter, block) {
if (block = document.getElementById(block)) {
if (block.style.display != "block") { /* Block wird nicht angezeigt, einblenden */
block.style.display = "block";
schalter.style.fontWeight = "bold";
schalter.style.color = "#f00";
}
else { /* Block wird angezeigt, ausblenden */
block.style.display = "none";
schalter.style.fontWeight = ""; /* "" = Vorgabe benutzen */
schalter.style.color = "";
}
}
return true;
}
</script>
</head>
<body>
<div><a onclick="return tricker(this, '1')" href="javascript:void(0)">
Frage 1: Gibt es hier auch Homepagevorlagen?</a></div>
<div id="1" style="display:none">Antwort: ja</div>
</body>