2013-10-02 7 views
12

I dieses getComputedStyle polyfill in einem jquery Äquivalent für getComputedStyle()

if (!computed) { 
    window.getComputedStyle = function(el) { 
    this.el = el; 
    this.getPropertyValue = function(prop) { 
     var re = /(\-([a-z]){1})/g; 
     if (prop === "float") { 
     prop = "styleFloat"; 
     } 
     if (re.test(prop)) { 
     prop = prop.replace(re, function() { 
      return arguments[2].toUpperCase(); 
     }); 
     } 
     return el.currentStyle[prop] ? el.currentStyle[prop] : null; 
    }; 
    return this; 
    }; 
} 
JavaScript plugin

gefunden Gibt es eine jQuery Äquivalent für getComputedStyle();

+3

http://api.jquery.com/css/? – Bergi

Antwort

26

Sie können die Getter-Version .css() verwenden.

Von doc

Die CSS-() -Methode ist ein bequemer Weg, eine Stileigenschaft aus dem ersten verglichene Elemente, vor allem im Hinblick auf die verschiedenen Möglichkeiten Browser der meisten diese Eigenschaften zugreifen zu bekommen (die getComputedStyle() Methode in standardbasierten Browsern im Vergleich zu den Eigenschaften currentStyle und runtimeStyle im Internet Explorer) und die verschiedenen Begriffe Browser für bestimmte Eigenschaften verwenden.

wie

$(el).css('color') 
+0

berücksichtigt dies jedoch Browser-Standardeinstellungen und/oder Benutzer-CSS? Ich vermute, das ist, was @Arya sucht mit 'berechneten Stil' – Plato

+3

@ Plato: Aus der Docs: "* Die. CSS() -Methode ist eine bequeme Möglichkeit, eine Stileigenschaft aus dem ersten übereinstimmenden Element, vor allem angesichts der verschiedene Browser greifen auf die meisten dieser Eigenschaften zu (die Methode getComputedStyle() in standardbasierten Browsern im Vergleich zu den Eigenschaften currentStyle und runtimeStyle in Internet Explorer) und die unterschiedlichen Begriffe, die Browser für bestimmte Eigenschaften verwenden. * " – Bergi

+0

@Arya beachten Sie, dass Ihr Polyfill mehr kann schaden als gut - lass jQuery einfach sein Ding machen. – Alnitak