【问题标题】:How to reach a Class in Shadowroot如何进入 Shadowroot 中的班级
【发布时间】:2021-09-09 08:57:01
【问题描述】:

这可能是一个简单的,我正在尝试弄清楚如何到达“sn-inbox”类

使用下面的代码,我可以到达第一个 shadow-root 的子节点,但是我如何到达下一个 Shadow-root,然后我应该能够轻松到达该类。

let Acceptbtn = $("[slot=primary-content-area")[4]?.shadowRoot?.childNodes[0];      

【问题讨论】:

    标签: javascript shadow-dom


    【解决方案1】:

    据我从您的屏幕截图中可以看出,<sn-inbox> 位于 <sn-ux-content-option> 的 lightDOM 中(它有 shadowDOM)并且(我猜)是 开槽的<slot>?

    您可以使用slotChange 事件来捕获内容被插入时

    或访问 lightDOM 中的 DOM 元素

    let Acceptbtn = $("[slot=primary-content-area")[4]?.querySelector("sn-inbox");

    有关详细的时隙信息,请参阅:::slotted CSS selector for nested children in shadowDOM slot

    【讨论】:

    • 我尝试了上面的代码,但得到了空值。我是这个开槽概念的新手。由于我的屏幕截图已从帖子中删除,因此不确定我是否会在这里获得更多帮助。
    • 我没有删除你的截图;我将指向另一个站点的链接更改为内联图像。您可能必须正确选择选择器;我把它粘贴到你原来的 jQuery 选择器上(我不知道 jQuery 语法了)。学习需要时间,需要大量的尝试和错误。但答案是理解“lightDOM”和(开槽的)“shadowDOM”
    • 谢谢。我是这个影子世界的新手。我只想知道如何进入
    • 那个元素在光明中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 2017-01-22
    • 1970-01-01
    • 2017-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多