ElementInternals:states 屬性

Baseline 2024
新推出

自 2024 年 5 月以來,此功能已在最新裝置和瀏覽器版本中可用。此功能可能不適用於較舊的裝置或瀏覽器。

ElementInternals 介面的只讀屬性 states 返回一個 CustomStateSet,該物件表示自定義元素的可能狀態。

一個 CustomStateSet,它是一個字串的 Set

示例

以下函式向 CustomStateSet 新增和移除狀態 --checked,然後根據自定義複選框是否被選中或取消選中,在控制檯列印 truefalse

js
class MyElement extends HTMLElement {
  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

瀏覽器相容性