Hintergrundfarbe eines Links änder
muskelkatermann
- javascript
Hi,
ich möchte die Hintergrundfarbe ein Links onClick ändern.
Habe folgendes Script:
<script language="javascript">
function changecolor(obj)
{
obj.style.background-color="#00FF33";
}
var test = false;
</script>
<a href="#" onclick="this.style.color=changecolor(this);" style="">My Link</a>
wenn ich nur die farbe ändern will läuft alles, aber wenn ich auf das style attribut background-color zugreife, habe ich einen Script Fehler.
Eine klasse A:active zu erstellen hilft mir, aus Gründen gewisser Umstände in diesem Fall nicht.
Grüße
Muskelkatermann
Hallo muskelkatermann.
<script language="javascript">[code lang=javascript]
function changecolor(obj)
{
obj.style.background-color="#00FF33";
}
var test = false;
> </script>
> <a href="#" onclick="`this.style.color=changecolor(this);`{:.language-javascript}" style="">My Link</a>[/code]
Die Zuweisung im Link ist überflüssig, da du mit `this`{:.language-javascript} bereits eine voll funktionstüchtige Referenz auf das aufrufende Objekt übergibst.
Ein einfaches `onclick="[code lang=javascript]changecolor(this);`{:.language-html}"[/code] genügt also.
Im Übrigen solltest du dir anschauen, nach welchen <http://de.selfhtml.org/javascript/objekte/style.htm#style_eigenschaften@title=Konventionen> CSS-Eigenschaften in JS übernommen wurden.
Einen schönen Freitag noch.
Gruß, Ashura
--
[The End of an Era...](http://www.nightwish.com/english/lettertotarjaen.html)
Hi,
danke für die schnelle antwort, danke für den link mit den Konventionen. Bei background-color muss man wohl auf das - verzichten.
Ja, der Aufruf war etwas merkwürdig, habe ursprünglich den Farbwert mit der Funktion zurückgegeben, mich dann aber anders entschieden weil ich ja die Farbe und Hintergrundfarbe ändern wollte.
Habe beim ändern dann den Aufruf nicht mehr geändert.
Scheiss Fusch am Bau ;)
Grüße
Lieber Muskelkatermann,
Bei background-color muss man wohl auf das - verzichten.
es muss "backgroundColor" heißen, nicht anders!
Liebe Grüße aus Ellwangen,
Felix Riesterer.