ElementInternals:states 属性

基线 2024

新可用

2024 年 5 月起,此功能在最新的设备和浏览器版本中均可使用。此功能可能无法在较旧的设备或浏览器中使用。

statesElementInternals 接口的只读属性,它返回一个 CustomStateSet,表示自定义元素的可能状态。

一个 CustomStateSet,它是一个 Set,包含字符串。

示例

以下函数向 CustomStateSet 添加和删除状态 --checked,然后在自定义复选框被选中或未选中时,将 truefalse 打印到控制台。

js
set checked(flag) {
  if (flag) {
    this._internals.states.add('--checked');
  } else {
    this._internals.states.delete('--checked');
  }

  console.log(this._internals.states.has('--checked'));
}

规范

规范
HTML 标准
# custom-state-pseudo-class

浏览器兼容性

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