如何从使用关闭模式创建的影子根中查询选择

how to querySelect from shadow root that was created with closed mode

我有一个用 mode: closed

创建的影子根
<session-expiration-popup>
  #shadow root (closed)
  <div class="custom-element-root">
    something
  </div>
</session-expiration-popup>

有什么方法可以从这个 shadow root querySelect 得到一些东西吗?

我试过了

const el = document.querySelector('session-expiration-popup')
el.shadowRoot.querySelector(".custom-element-root");

但是,它不起作用,因为 shawRoot param is null for mode: close

此外,我尝试 el.attachShadow({ mode: "open" }) 但它也是导致异常的错误方法(el 元素存在影子根)。

您还有其他想法吗?

这不可能。这是 closed Shadow DOM.

的预期行为和目的

唯一的解决方法是重载 attachShadow() 方法,然后在调用该方法时创建一个开放的影子 DOM。