ElementInternals: shadowRoot 屬性

shadowRootElementInternals 介面的一個只讀屬性,它返回該元素的 ShadowRoot

如果元素有 Shadow Root,則返回一個 ShadowRoot 物件;否則返回 null

示例

下面的示例在呼叫 HTMLElement.attachInternals() 後立即將 shadowRoot 的值列印到控制檯。此時,該值為 null。在呼叫 Element.attachShadow() 後,元素具有 Shadow Root,並且 shadowRoot 返回代表它的物件。

js
class MyCustomElement extends HTMLElement {
  constructor() {
    super();
    this.internals_ = this.attachInternals();

    console.log(this.internals_.shadowRoot); // null

    this.attachShadow({ mode: "open" });

    console.log(this.internals_.shadowRoot); // a ShadowRoot object
  }
}

規範

規範
HTML
# dom-elementinternals-shadowroot

瀏覽器相容性