Hintergrundfarbe bei onClick
htmllamer
- css
Wie kann man die Hintergrundfarbe von einer Schrift (,die sich in einer Tabelle befindet) mit einem onClick-Ereigniss verändern?
Ich habe es folgendermassen ausprobiert: der Schrift, die eine Hintergrundfarbe annehmen soll, eine ID gegeben und einer anderen Schrift ein Ereignis eingebaut: onClick="document.all.ID-NAME.style.background-color='FARBE'". Wenn ich nun auf die Schrift die das Ereigniss besitzt klicke erfolgt ein Fehler.
Soweit ich weiss gehört das ALL-Element dem IExplorer. Wie kann man dieses "Problem" mit dem IExplorer und dem Navigator lösen?
Danke im Voraus!
Wie kann man die Hintergrundfarbe von einer Schrift (,die sich in einer Tabelle befindet) mit einem onClick-Ereigniss verändern?
Ich habe es folgendermassen ausprobiert: der Schrift, die eine Hintergrundfarbe annehmen soll, eine ID gegeben und einer anderen Schrift ein Ereignis eingebaut: onClick="document.all.ID-NAME.style.background-color='FARBE'". Wenn ich nun auf die Schrift die das Ereigniss besitzt klicke erfolgt ein Fehler.
Soweit ich weiss gehört das ALL-Element dem IExplorer. Wie kann man dieses "Problem" mit dem IExplorer und dem Navigator lösen?
Probiers mit ohne all, dann müsste es gehen (Bei Netscape)
Moin,
document.all.ID-NAME.style.background-color='FARBE'
ad 1) background-color ist CSS Syntax nicht JavaScript,
da muss es heissen: .style.backgroundColor, deshalb
der Fehler
ad 2) versuche
onClick="this.style.backgroundColor='farbe'"
mit "this" bezieht sich der JS befehl immer auf das Element, in dem das Event ausgeführt wird. Funzt mit allem was nicht Netscape 4 heißt und halbwegs aktuell ist.
Alternativ, verwende eine funktion:
onClick="farbWechsel(this)"
die function schreibst du wie gehabt in einen <script> am anfang der seite, das kann dann so aussehen:
function farbWechsel(elt) {
// in elt steht jetzt das angeklickt element
if(elt.style) elt.style.backgroundColor=="farbe";
}
die funktion kann dann ggf. zwischen versch. farben wechseln (an/aus) oder sonst was mit dem "element" machen - oder auch NS4 berücksichtigen (wer's braucht).
BTW: onClick funtz mit NS4 auf der TD sowieso nicht, da dieser archaische Brauser kein HTML4 kann und bei CSS sowieso buggy ist (wie Netscape inzwischen selbst zugibt <g>)
Viel Spaß
CirTap
sorry
if(elt.style) elt.style.backgroundColor=="farbe";
muss heissen
if(elt.style) elt.style.backgroundColor="farbe";
nur ein =