ElementInternals:shadowRoot 属性

shadowRootElementInternals 接口的只读属性,它返回该元素的 ShadowRoot

如果元素具有影子根,则为 ShadowRoot,否则为 null

示例

以下示例在调用 HTMLElement.attachInternals() 后立即将 shadowRoot 的值打印到控制台。此时值为 null。在调用 Element.attachShadow() 后,元素具有影子根,并且 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

浏览器兼容性

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