我正在尝试读取一个自定义(非标准)CSS属性,该属性在样式表(而非内联样式属性)中设置并获取其值。以这个CSS为例:
#someElement { foo: 'bar'; }
我已经设法通过IE7中的currentStyle属性获取其值:
var element = document.getElementById('someElement'); var val = element.currentStyle.foo;
但是currentStyle是特定于MS的。所以我在Firefox 3和Safari 3中尝试了getComputedStyle():
var val = getComputedStyle(element,null).foo;
…并且返回未定义。 有谁知道跨浏览器的方法来获取自定义CSS属性值?
(您可能已经注意到,这不是有效的CSS。但是,只要值遵循正确的语法,它就应该起作用。更好的属性名称是“ -myNameSpace-foo”或其他名称。)
从代码到DOM,Firefox不会继承其无法理解的标签,属性或CSS样式。那是设计使然。Javascript只能访问DOM,而不能访问代码。因此,没有办法,无法从浏览器本身不支持的javascript访问属性。