Peter: Farben bei Anklicken verändern

Hallo zusammen,
ich habe eine Herausforderung: für Präsentationszwecke würde ich gerne einen Text (bold) bei Anklicken oder MouseOver permanent mit einer anderen Hintergrundfarbe versehen (highlighten) und zwar ohne die Verwendung von document.getElementById, da das HTML-File generisch aus Mindmanager erstellt wurde.

Beispiel:

Das ist ein <b>fetter text</b>.
Das ist ein <b>zweiter fetter</b>text.

Beim Anklicken von "fetter text" wird z.B. gelb hinterlegt, beim Anklicken von "zweiter fetter" wird auch gelb hinterlegt, "fetter text" bleibt gelb.

Wer kenn mit mit einem JS weiterhelfen, wenn es keine ElementId im <b>-Tag gibt? Kenne das Beispiel in SELFHTML, dort wird aber document.getElementById verwendet.

Gruss
Peter
---------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>Test</title>
<style type="text/css">
<!--
.normal { font-size:20pt; color:blue; }
.extra { font-size:20pt; color:red; background-color:yellow; }
-->
</style>
<script type="text/javascript">
<!--
function wechseln() {
 if(document.getElementById("stark").className == "normal")
  document.getElementById("stark").className = "extra";
 else
  document.getElementById("stark").className = "normal";
}
//-->
</script>
</head><body>
<p><strong id="stark" class="normal" onMouseOver="wechseln()" onMouseOut="wechseln()">ganz stark!</strong></p>
</body></html>

  1. Hallo

    was willst du denn nun? onMouseOver/OnMouseOut oder onClick?
    belassen wir es wie im Bsp beo de MouseOver, ansonsten kannst dus dir ja schnell abändern...

    function wechseln() {

    schreibe da die funktion in
    function wechseln(obj, on) {
    um

    if(document.getElementById("stark").className == "normal")
      document.getElementById("stark").className = "extra";
     else
      document.getElementById("stark").className = "normal";

    wird dann zu
    if(on)
     obj.className = "extra";
    else
     obj.className = "normal";

    }
    <p><strong id="stark" class="normal" onMouseOver="wechseln()" onMouseOut="wechseln()">ganz stark!</strong></p>

    und hieraus mache ein
    <p><strong class="normal" onMouseOver="wechseln(this, true)" onMouseOut="wechseln(this, false)">ganz stark!</strong></p>

    damit sollte es gehen.

    Grüße

    David

    --

    "Nobody will ever need more than 640k RAM!"
    1981 Bill Gates
  2. Hallo zusammen,
    ich habe eine Herausforderung: für Präsentationszwecke würde ich gerne einen Text (bold) bei Anklicken oder MouseOver permanent mit einer anderen Hintergrundfarbe versehen (highlighten) und zwar ohne die Verwendung von document.getElementById, da das HTML-File generisch aus Mindmanager erstellt wurde.

    du suchst http://selfhtml.teamone.de/css/eigenschaften/pseudoformate.htm

    Struppi.