data-*
The data-*
MathML attributes are called custom data attributes. They let MathML markup and its resulting DOM share information that standard attributes can't, usually for scripting purposes. Their custom data are available via the MathMLElement
interface of the element the attributes belong to, with the MathMLElement.dataset
property.
The *
can be replaced by any characters allowed in XML's rules for names, with the following restrictions:
- Can't start with
xml
. - No semicolons (
;
,U+003A
). - No capital
A
toZ
letters.
Note:
The MathMLElement.dataset
property is a DOMStringMap
that provides the attribute data-test-value
via MathMLElement.dataset.testValue
. Hyphen characters (-
, U+002D
) are removed and the next letter is capitalized, resulting in the camel case format.
You can use this attribute with any MathML element.
Example
<math>
<msup data-formula="euler" data-value="-1">
<mi>e</mi>
<mrow><mi>i</mi> <mi>π</mi></mrow>
</msup>
<mo>+</mo>
<mn>1</mn>
<mo>=</mo>
<mn>0</mn>
</math>
const msupElement = document.querySelector("msup");
console.log(msupElement.dataset.formula); // "euler"
console.log(msupElement.dataset.value); // "-1"
Specifications
This feature does not appear to be defined in any specification.>Browser compatibility
Loading…
See also
MathMLElement
- The
MathMLElement.dataset
property used to access these attributes from scripts. - Using data attributes