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

我可以从JavaScript访问无效/自定义CSS属性的值吗?

公孙志
2023-03-14
问题内容

假设我有以下CSS:

div {
    -my-foo: 42;
}

以后可以在JavaScript中以某种方式知道-my-foo给定CSS属性的值是div什么吗?


问题答案:

我认为您无法访问无效的属性名称,至少对我而言,它不适用于Chrome或Firefox。CSSStyleDeclaration只是跳过了无效属性。对于给定的CSS:

div {
    width: 100px;
    -my-foo: 25px;
}

style:CSSStyleDeclaration 对象仅包含以下键:

0: width
cssText: "width: 100px"
length: 1

但是,有趣的是,这是DOM-Level-2样式规范所说的:

尽管实现可能无法识别CSS声明块中的所有CSS属性,但是它有望通过CSSStyleDeclaration接口提供对样式表中所有指定属性的访问。

暗示CSSStyleDeclaration对象应该-my-foo在上面的示例中列出了该属性。也许那里有一些支持它的浏览器。

我用于测试的代码位于。

注意 :您始终可以通过解析原始文本进行DIY。例如:

document.getElementsByTagName("style")[0].innerText

但这对我来说似乎是很多工作,并且不知道您这样做的原因,所以我不能说是否存在更好的替代方法来解决您的问题。



 类似资料:
  • 问题内容: 如何使用JavaScript(纯文本或jQuery)获取和设置CSS自定义属性(在样式表中使用过的属性)? 这是我失败的尝试:单击按钮会更改常规属性,但不会更改自定义属性: 问题答案: 您可以使用:

  • 我们知道,在 CampusBuilder 中创建的物体,只有在编辑了 UserID、Name 或者自定义属性后,导入到 ThingJS 中才能成为独立的管理对象,被程序读取或修改。 从 CampusBuilder 导入的用户自定义的属性可通过 userData 属性访问到。 访问自定义属性的语法 obj.userData[propertyName]; 其中,propertyName 为自定义属

  • 问题内容: 我正在尝试读取一个自定义(非标准)CSS属性,该属性在样式表(而非内联样式属性)中设置并获取其值。以这个CSS为例: 我已经设法通过IE7中的currentStyle属性获取其值: 但是currentStyle是特定于MS的。所以我在Firefox 3和Safari 3中尝试了getComputedStyle(): …并且返回未定义。 有谁知道跨浏览器的方法来获取自定义CSS属性值?

  • React能够按照http://facebook.github.io/React/docs/jsx-gotchas.html中的描述呈现自定义属性: 如果您想使用一个自定义属性,您应该在它前面加上data-。 这是个好消息,但我找不到从事件对象访问它的方法,例如: 元素和属性以html格式呈现。像这样的标准属性可以作为fine访问。而不是: 这些都没用。 匿名用户 以一种可能与您所要求的不同的方式

  • 问题内容: 如http://facebook.github.io/react/docs/jsx- gotchas.html 所述,React能够呈现自定义属性 : 如果要使用自定义属性,则应在其前面加上data-。 那是个好消息,除了我找不到从事件对象访问它的方法,例如: 元素和属性以html呈现。可以像这样访问标准属性。而不是我尝试: 这些都不起作用。 问题答案: 为了帮助您以与要求不同的方式获

  • 问题内容: 我的视图模型中包含以下模型 如何从Javascript访问上述属性之一? 我尝试了这个,但是我得到了“未定义” 问题答案: 您可以通过以下操作将整个服务器端模型转换为Javascript对象: 在您的情况下,如果只需要FloorPlanSettings对象,则只需传递方法that属性: