当前位置: 代码迷 >> JavaScript >> 检索CSS需要'getPropertyValue'方法吗?
  详细解决方案

检索CSS需要'getPropertyValue'方法吗?

热度:82   发布时间:2023-06-13 12:39:01.0

如果我们只使用getComputedStyle方法,你能告诉我为什么我们需要使用getPropertyValue方法吗?

例如,据我所知,这将起作用:

var s = getComputedStyle(element, null).opacity;

这相当于以下内容:

var s = getComputedStyle(element, null).getPropertyValue('opacity');

我们可以getComputedStyle没有getPropertyValue情况下使用getComputedStyle吗?

根据旧的 ,不需要getPropertyValue

CSS2Properties接口表示用于在检索和设置属性的便捷机制。 此接口的属性对应所有 。 获取此接口的属性等同于调用接口的getPropertyValue方法。 设置此接口的属性等同于调用接口的setProperty方法。

但是,实现不需要支持它,因此使用getPropertyValue更安全。

实现CSS2Properties接口不需要符合CSS模块的实现。

但根据较新的 ,使用没有getPropertyValue camel-case必须工作:

对于是每个CSS属性属性 ,以下的局部界面适用其中骆驼外装属性是通过运行所获得的算法属性

 partial interface CSSStyleDeclaration { attribute DOMString _camel-cased attribute; }; 

获取时, camel-cased attribute属性必须返回调用的结果,其中参数是运行为camel-cased属性的 算法的结果。

设置属性必须调用 ,第一个参数是运行为camel-cased属性的 算法的结果,第二个参数是给定值,没有第三个参数。 必须重新抛出任何抛出的异常。

因此,不再需要getPropertyValue来检索CSS值。

我相信这是属于不能用点标记的属性,比如background-position 虽然我想提出问题“为什么不使用括号表示法,即getComputedStyle(element, null)['background-position'] ?”。 他们可能只想要一个类的getter方法(CSSStyleDeclaration)。