Andreas Dölling: Farbe ändern

Beitrag lesen

Hallo,

thx für jede Hilfe ich probier das ganze jez scho stundenlang in allen möglich Kombinationen aber es will und will nicht gehn. aja und wenns wen interessiert, die Funktion rot () wird wirklich aufgerufen. Das hab ich scho getestet.

laß Dir doch in der Funktion mal Informationen über this ausgeben.
Also so etwas:
alert(this);

Da wirst Du sehen, daß this nicht auf das Objekt verweist, an das Du gedacht hast, sondern auf das aktuelle window-Objekt.
Die Funktion weiß nicht, von woher der Klick kommt, da Du weder das angeklickte Element übergibst noch das event-Objekt.

Versuche es mal so:

<script type="text/javascript">
function rot(srcElement) {
srcElement.style.backgroundColor = "#FF0000";
//srcElement.setAttribute("bgcolor", "#FF0000", "false");
}
</script>
<table border="1">
<tr>
<td onclick="rot(this);">Foo</td>
</tr>
</table>

Zur this-Problematik schau mal unter http://www.quirksmode.org/js/this.html!

Ciao,
Andreas