This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2023.
The dataset read-only property of the MathMLElement interface provides read/write access to custom data attributes (data-*) on elements. It exposes a map of strings (DOMStringMap) with an entry for each data-* attribute.
The dataset property itself can be read, but not directly written. Instead, all writes must be to the individual properties within the dataset, which in turn represent the data attributes.
A DOMStringMap.
<div>
<math>
<msup id="equation" data-value="-1" data-equation="euler">
<mi>e</mi>
<mi>iπ</mi>
</msup>
<mo>+</mo>
<mn>1</mn>
<mo>=</mo>
<mn>0</mn>
</math>
</div>
const el = document.querySelector("#equation");
console.log(el.dataset.value); // "-1"
console.log(el.dataset.equation); // "euler"
| Specification |
|---|
| HTML> # dom-dataset-dev> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
dataset |
109 | 109 | 71 | 95 | 13.1 | 109 | 79 | 74 | 13.4 | 21.0 | 109 | 13.4 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement/dataset