Gunnar Bittersmann: auf background-color zugreifen

Beitrag lesen

@@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.