2012-06-26 90 views
3

所以我期待獲得瀏覽器不支持的CSS屬性的值。這是我想用來創建一個polyfill,但我需要知道在任何特定時間的財產的價值。如何獲取瀏覽器不支持的CSS屬性的值?

Here's a test file with all the methods I've tried so far。 Bascially,給出以下:

#element { 
    transform: rotate(2deg); 
} 

我想是可以的,通過JavaScript,獲得價值rotate(2deg)不管瀏覽器是否支持它。 這可能嗎?如果是這樣,是否有一種預先制定的方式來做到這一點(我需要在舊版瀏覽器中做很多)?

一些喜好,如果它是可能的:

  • 寧願從一個元素做到這一點,而不是通過一個樣式表的規則循環
  • 需要支持IE 7,至少(或者有方法做所以)
  • 不應該花2秒來計算。我想的東西,將瓶坯體面
+4

的這個可能的複製問題:http://stackoverflow.com/q/249991/527096 – potench

+1

如果瀏覽器不支持該屬性,我不知道除了在樣式表中搜索它以外,還有什麼可以找到它的值?並不那麼困難和相當快)。你可以直接通過元素的style屬性來應用規則,但我懷疑你不想這樣做。 – RobG

+0

@RobG在樣式表中搜索的主要問題是值可能會改變,這是一個昂貴的操作。我希望能夠在不需要每次解析文件的情況下觸發':hover'之類的東西時調整值。 – Ktash

回答

2

我能夠在與jQuery您的演示檢索Firefox中的值:

var match = $('style').html().match(/transform:\s*(.+);?/); 
var value = match ? match[1] : ''; 

現場演示:http://jsfiddle.net/fnF2V/5/

+1

當然,除非只有一個保證屬於'#element'的'transform'聲明,否則這將不會很有用。 – BoltClock

+1

@BoltClock這是一個開始':)'線程中接受的答案,這是一個可能的重複,表示它根本不可能。我的答案的目的是表明它*是*可能的。 –