onMouseover
nobian
- javascript
<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.
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
ooops... ;) ... sorry für meine falschinformation
das wusst ich nicht...
greetz
masta
<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.
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