nobian: onMouseover

<td onMouseover="this.style.class='neueklasse'= onMouseout="this.style.class=''">huhu</td>

wie mach ich das richtig, bei mouseover die klasse wechseln? sollte auch in netscape 4.7 funzen.

  1. Hallo,

    <td onMouseover="this.style.class='neueklasse'= onMouseout="this.style.class=''">huhu</td>

    wie mach ich das richtig, bei mouseover die klasse wechseln? sollte auch in netscape 4.7 funzen.

    object.className ist wohl eher das Ziel. Unter IE 5+, Netscape 6.x/Mozilla und anderen Browsern, die Ansaetze von DOM enthalten, z. B. so:
    document.getElementById("eineID").className="neueKlasse";
    Siehe auch http://www.styleassistant.de/tips/tip41.htm.

    Unter Netscape 4.x hilft ggf. document.classes weiter.

    MfG, Thomas

    1. ooops... ;) ... sorry für meine falschinformation

      das wusst ich nicht...

      greetz
      masta

  2. <td onMouseover="this.style.class='neueklasse'= onMouseout="this.style.class=''">huhu</td>

    also zuerst ist da ein html-syntax fehler drin... statt dem = hiner 'neueklasse' muss ein " stehen.
    ABER: das objekt "class" gibt es nicht. mit document.style kann man lediglich attribute eines styles lesen/löschen/ändern/setzen.

    info: http://selfhtml.teamone.de/javascript/objekte/style.htm

    das objekt "class" ist allerdings vom w3c vorgesehen, also ist es sehr wahrscheinlich, dass es bald möglich ist, nicht nur einzelne css-atribute zu ändern, sondern ganze klassen auszutauschen.

  3. Hallo Nobian

    Das folgende Beispiel tut im Mozilla und ist meines Wissens W3C-DOM-konform (Einen IE habe ich nicht zum testen)

    <html>
      <head>
        <title></title>
        <style>
     .test1 {text-decoration:none}
     .test2 {text-decoration:underline}
        </style>
      </head>
      <body>
     <p class="test1" onmouseover="this.className = 'test2'" onmouseout="this.setAttribute('class','test1')">test</p>
      </body>
    </html>

    Im Netscape 4.* kann man nur sehr wenige Eigenschaften ändern.
    Das Klassenattribut gehört nicht dazu. Von dem unten genannten document.classes habe ich noch nie was gehört.

    Grüße

    Daniel