The states
read-only property of the ElementInternals
interface returns a CustomStateSet
representing the possible states of the custom element.
ElementInternals: states property
Baseline 2024
Newly available
Since May 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Value
A CustomStateSet
which is a Set
of strings.
Examples
The following function adds and removes the state --checked
to a CustomStateSet
, then prints to the console true
or false
as the custom checkbox is checked or unchecked.
js
set checked(flag) { if (flag) { this._internals.states.add('--checked'); } else { this._internals.states.delete('--checked'); } console.log(this._internals.states.has('--checked')); }
Specifications
Specification |
---|
HTML Standard # custom-state-pseudo-class |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | ||
states |
90 | 90 | 126 | 76 | 17.4 | 90 | 126 | 64 | 17.4 | 15.0 | 90 |
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/states