HTMLElement: attributeStyleMap property
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
The attributeStyleMap
read-only property of the HTMLElement
interface returns a live StylePropertyMap
object that contains a list of style properties of the element that are defined in the element's inline style
attribute, or assigned using the style
property of the HTMLElement
interface via script.
Shorthand properties are expanded. If you set border-top: 1px solid black
, the longhand properties (border-top-color
, border-top-style
, and border-top-width
) are set instead.
The main difference between style
property and attributeStyleMap
property is that, the style
property will return a CSSStyleDeclaration
object, while the attributeStyleMap
property will return a StylePropertyMap
object.
Though the property itself is not writable, you could read and write inline styles through the StylePropertyMap
object that it returns, just like through the CSSStyleDeclaration
object that returns via the style
property.
Value
A live StylePropertyMap
object.
Examples
The following code snippet shows the relationship between the style
attribute and the attributeStyleMap
property:
<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>
#el {
font-size: 16px;
}
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`;
}
Specifications
Specification |
---|
CSS Typed OM Level 1 # dom-elementcssinlinestyle-attributestylemap |
Browser compatibility
BCD tables only load in the browser