molily: Wie font-size eines div deklariert in css-Datei auslesen?

Beitrag lesen

Hallo,

Über .style.eigenschaft kannst du nur CSS-Eigenschaftswerte auslesen, die über Inline-Styles (<element style="color:red">) gesetzt wurden bzw. eben auf diese Weise mittels JavaScript.

Wenn du den tatsächliche Wert auslesen willst, den ein Element hat, nachdem alle ausgelagerten Style-Regeln angewendet wurden, so musst du den sogenannten »computed value« abfragen. Gemäß dem DOM-Style-Standard geht das folgendermaßen:

  
var element = document.getElementById("meindiv");  
var styledeclaration = window.getComputedStyle(element, null);  
var eigenschaftswert = styledeclaration.getPropertyValue("font-size");  
alert(eigenschaftswert);

Das funktioniert in Firefox, Opera, Konqueror und soweit ich weiß Safari.

Der MSIE implementiert diesen Teil des Standards nicht, kennt aber das Objekt currentStyle, was eine ähnliche Funktionalität bietet.

  
var element = document.getElementById("meindiv");  
var eigenschaftswert = element.currentStyle.fontSize;  
alert(eigenschaftswert);

Zusammen mit einer Cross-Browser-Objekterkennung:

  
var element = document.getElementById("meindiv");  
var eigenschaftswert;  
if (window.getComputedStyle) {  
    var styledeclaration = window.getComputedStyle(element, null);  
    eigenschaftswert = styledeclaration.getPropertyValue("font-size");  
} else if (element.currentStyle) {  
    eigenschaftswert = element.currentStyle.fontSize;  
}  
alert(eigenschaftswert);

Im Forumsarchiv wirst du dazu einiges finden, etwa eine allgemeinere Funktion.

Mathias