2012-06-26 59 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这是一个开始':)'线程中接受的答案,这是一个可能的重复,表示它根本不可能。我的答案的目的是表明它*是*可能的。 –