小编典典

我可以通过Javascript获取非标准CSS属性的值吗?

css

我正在尝试读取一个自定义(非标准)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”或其他名称。)


阅读 318

收藏
2020-05-16

共1个答案

小编典典

从代码到DOM,Firefox不会继承其无法理解的标签,属性或CSS样式。那是设计使然。Javascript只能访问DOM,而不能访问代码。因此,没有办法,无法从浏览器本身不支持的javascript访问属性。

2020-05-16