当前位置: 首页 > 面试题库 >

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

姬衡
2023-03-14
问题内容

我正在尝试读取一个自定义(非标准)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访问属性。



 类似资料:
  • 问题内容: 我有些不清楚的地方: 1)如果只有一种颜色,并且每侧相同,就不可能直接获得div的全局边框颜色: 而不是做: 要么 要么 … 2)在CSS文件中具有样式属性时,只能通过getComputedStyle方法访问它们,而不能通过样式属性(如内联定义的样式属性)或通过div中的样式属性来访问,对吗? 这是行不通的。 3)如果要设置样式属性,则必须使用元素的样式属性,是否无法使用计算出的样式对

  • 问题内容: 我有一个Div标签,如下所示 我如何获得eventTTL的值?我想显示eventTTL的值,即:)“ 4583476000”。 问题答案: 有关更多信息,请访问:https : //jsoup.org/cookbook/extracting-data/attributes-text- html

  • 问题内容: 如何通过jQuery从CSS类访问属性?我有一个CSS类,如: 我需要对一个对象进行彩色动画处理: 这样我就可以从CSS 更改为,并且动画将按照CSS进行工作。 一种方法是在类中放置一个不可见的元素,然后获取要在动画中使用的元素的颜色,但是我想这是非常非常糟糕的做法。 有什么建议么? 问题答案: 我编写了一个小函数,该函数遍历文档上的样式表以查找匹配的选择器,然后查找样式。 需要注意的

  • 问题内容: 假设我有以下CSS: 以后可以在JavaScript中以某种方式知道给定CSS属性的值是什么吗? 问题答案: 我认为您无法访问无效的属性名称,至少对我而言,它不适用于Chrome或Firefox。CSSStyleDeclaration只是跳过了无效属性。对于给定的CSS: 对象仅包含以下键: 但是,有趣的是,这是DOM-Level-2样式规范所说的: 尽管实现可能无法识别CSS声明块中

  • 在 PowerShell 中,如何通过指定对象的名称(字符串)来获取对象的属性值?我想要类似这样的东西: 是否有类似于“获取属性名称”的内容?