相关疑难解决方法(0)

如何判断元素是否在shadow DOM中?

我有一个项目,我在本地使用shadow DOM(不是通过polyfill).我想检测一个给定element是否包含在shadow DOM或light DOM中.

我已经查看了元素上的所有属性,但似乎没有根据元素所在的DOM类型而有所不同.

如何确定元素是影子DOM还是轻型DOM的一部分?


以下是针对此问题的"shadow DOM"和"light DOM"的示例.

 (light root) • Document
      (light)   • HTML
      (light)   | • BODY
      (light)   |   • DIV
(shadow root)   |     • ShadowRoot
     (shadow)   |       • DIV 
     (shadow)   |         • IFRAME 
 (light root)   |           • Document
      (light)   |             • HTML
      (light)   |             | • BODY
      (light)   |             |   • DIV
(shadow root)   |             |     • ShadowRoot
     (shadow)   |             |       • DIV
       (none)   |             • [Unattached DIV of second Document]
       (none)   • [Unattached …

javascript html5 css-selectors shadow-dom

28
推荐指数
5
解决办法
4138
查看次数

获取JavaScript中自定义元素的ID

我正在为Google Earth创建一个tampermonkey脚本,当您按下一个键时,它将隐藏工具栏。应该隐藏的元素之一如下所示:

<earth-toolbar id="toolbar" role="toolbar">...</earth-toolbar>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下代码隐藏它:

document.getElementById('toolbar').style.display = 'none'
Run Code Online (Sandbox Code Playgroud)

请注意,它在控制台中也不起作用。

但是,我收到此错误。

未捕获的TypeError:无法在HTMLDocument.eval读取null的属性“样式”

是否可以在不修改实际创建自定义元素的代码的情况下访问自定义元素,如果可以,它是什么?

html javascript tampermonkey

6
推荐指数
1
解决办法
85
查看次数