auf background-color zugreifen
roger
- javascript
Hello
die Hintergrundfarbe hat das CSS Attribut/Name "background-color".
Wenn ich darauf zugreifen will, funktioniert es leider bei mir so nicht.
document.getElementById('idname').style.background-color
mit jeder anderen CSS Eigenschaft funktioniert es. Nur nicht mit "Hintergrundfarbe".
Gibt es hier eine andere schreibweise ??
Gruß
roger
Hallo roger,
document.getElementById('idname').style.background-color
Gibt es hier eine andere schreibweise ??
Ja, die lautet
document.getElementById('idname').style.backgroundColor
Nach dem selben Schema funktioniert das immer, wenn ein Bindestrich vorkommt.
Liebe Grüße
Hallo,
Gibt es hier eine andere schreibweise ??
http://de.selfhtml.org/javascript/objekte/style.htm#style_eigenschaften
Mathias
@@roger:
die Hintergrundfarbe hat das CSS Attribut/Name "background-color". […]
document.getElementById('idname').style.background-color
Das liegt an dem bösen[tm] Zeichen '-' U+002D, das als Hu^WMädchen für alles herhalten muss: als Bindestrich, als Gedankenstrich, als Minus-Zeichen, ...
In den CSS-Eigenschaften wird es als Bindestrich benutzt, in JavaScript als Minus-Zeichen. Und du willst ja nicht vom Wert document.getElementById('idname').style.background den Wert color subtrahieren.
mit jeder anderen CSS Eigenschaft funktioniert es.
Was heißt „funktioniert es“? Du kannst über das 'style'-Object nur auf die CSS-Eigenschaften zugreifen, die du per JavaScript gesetzt hast (oder die inline mit 'style'-Attributen gesetzt sind, aber das ist böse pfui[tm]!!).
Folgendes gibt nicht "yellow" zurück:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>
<html
xmlns="http://www.w3.org/1999/xhtml"
xml:lang="und" lang="und"
>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>TEST</title>
<script type="text/javascript">
//<![CDATA[
[code lang=javascript]window.onload = function ()
{
document.body.style.background);
};
~~~ //]]>
</script>
<style type="text/css">
~~~css
body
{
background: yellow;
}
~~~ </style>
</head>
<body>
</body>
</html>
[/code]
Live long and prosper,
Gunnar
--
[Erwebsregel](http://memory-alpha.org/de/wiki/Erwerbsregeln_der_Ferengi) 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
@@Gunnar Bittersmann:
Folgendes gibt nicht "yellow" zurück:
Sondern einen Fehler:
document.body.style.background);
Sollte heißen:
alert(document.body.style.background);
Live long and prosper,
Gunnar