2013-10-02 12 views
12

Znalazłem getComputedStyle PolyFill w JavaScript pluginjQuery (ekwiwalent dla 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; 
    }; 
} 

Czy istnieje odpowiednik dla getComputedStyle jQuery();

+3

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

Odpowiedz

26

Możesz użyć wersji pobierającej .css().

Od doc

.css() metoda

to wygodny sposób, aby uzyskać właściwość stylu z pierwszego dopasowanego elementu, zwłaszcza w świetle różnych sposobów przeglądarek dostęp do większości z tych właściwości (the Metoda getComputedStyle() w przeglądarkach opartych na standardach w porównaniu z właściwościami currentStyle i runtimeStyle w programie Internet Explorer) i różnymi pojęciami używanymi przez przeglądarki dla określonych właściwości.

jak

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

, ale czy uwzględnia to domyślne ustawienia przeglądarki i/lub CSS użytkownika? podejrzewam, że właśnie tego szuka @Arya z "stylem obliczeniowym" – Plato

+3

@Plato: Z dokumentacji: "* Metoda .css() jest wygodnym sposobem na uzyskanie właściwości stylu od pierwszego dopasowanego elementu, szczególnie w świetle w różny sposób przeglądarki uzyskują dostęp do większości tych właściwości (metoda getComputedStyle() w przeglądarkach opartych na standardach w porównaniu do właściwości currentStyle i runtimeStyle w programie Internet Explorer) oraz różne terminy używane w przeglądarkach dla określonych właściwości * " – Bergi

+0

@Arya Uwaga, że ​​Twój polyfill może zrobić więcej szkoda niż dobra - po prostu pozwól jQuery zrobić swoje. – Alnitak