Philipp J.: Style Objekt: Über Selektor zugewiesene Werte nicht abrufbar

Hallo,

ich bin gerade über ein Problem gestolpert und würde gerne meine "Erkenntnis" bestätigt haben oder einen Tipp, was ich grundlegend falsch mache.

Wenn ich mit "document.getElementById('12345').style.IrgendeineCSSEigenschaft" auf eine CSS Eigenschaft zugreifen möchte, klappt das oder auch nicht, in Abhängigkeit davon, wo die Eigenschaft deklariert wurde.

Es geht wenn:

  • die Eigenschaft direkt im style-Attribut deklariert wurde: <div id='12345' style="IrgendeineCSSEigenschaft:Wert;">
  • Der Wert über Javascript verändert wurde.

Es geht nicht, wenn:

  • Die Eigenschaft über einen Css Selektor zugewiesen wurde (IE6 & FF getestet)

Ich hatte jetzt erwartet, dass DOM mir den Zustand des Elements im Browser zurückgibt...

Wenn das ein "normales" Problem ist, wie arbeitet Ihr da drumherum?

Danke schon mal

Philipp

  1. Hallo,

    Wenn das ein "normales" Problem ist, wie arbeitet Ihr da drumherum?

    Wie im Archiv ziemlich oft zu lesen ist:

    function getCS (element) {  
       if (window.getComputedStyle) { // Standardkonforme Browser  
          return window.getComputedStyle(element, null);  
       } else if (element.currentStyle) { // IE  
          return element.currentStyle;  
       }  
    }  
    var style = getCS( document.getElementById("bla") );  
    alert( style.IrgendeineCSSEigenschaft );
    

    Allerdings funktioniert das v.a. im IE nicht mit allen möglichen Eigenschaften. In manchen Fällen muss man andere Möglichkeiten nutzen, z.B. offsetWidth für das Auslesen der tatsächlichen Breite.

    Mathias