HTMLElement: attributeStyleMap 属性

attributeStyleMap 属性是 HTMLElement 接口的只读属性,它返回一个实时的 StylePropertyMap 对象,该对象包含元素的内联 style 属性中定义的样式属性列表,或使用 style 属性通过脚本分配给 HTMLElement 接口的样式属性列表。

简写属性将被展开。如果您设置 border-top: 1px solid black,则将设置长写属性 (border-top-colorborder-top-styleborder-top-width)。

style 属性与 attributeStyleMap 属性的主要区别在于,style 属性将返回 CSSStyleDeclaration 对象,而 attributeStyleMap 属性将返回 StylePropertyMap 对象。

虽然属性本身不可写,但您可以通过它返回的 StylePropertyMap 对象读取和写入内联样式,就像通过 style 属性返回的 CSSStyleDeclaration 对象一样。

一个实时的 StylePropertyMap 对象。

示例

以下代码片段显示了 style 属性和 attributeStyleMap 属性之间的关系

html
<div style="white-space: pre-line;">
  <div id="el" style="border-top: 1px solid blue; color: red;">
    An example element
  </div>
  <div id="output"></div>
</div>
css
#el {
  font-size: 16px;
}
js
const element = document.getElementById("el");
const output = document.getElementById("output");

for (const property of element.attributeStyleMap) {
  output.textContent += `${property[0]} = ${property[1][0].toString()}\n`;
}

规范

规范
CSS Typed OM 级别 1
# dom-elementcssinlinestyle-attributestylemap

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅