Quark mit Strudel: Funktion verändern

Beitrag lesen

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>