获取JavaScript中自定义元素的ID

zbo*_*473 6 html javascript tampermonkey

我正在为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的属性“样式”

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

Cer*_*nce 3

位于#toolbara 内#shadow-root,因此您必须访问.root该父级的属性才能查找其中的元素:

document.querySelector('earth-app').root.querySelector('#toolbar').style.display = 'none';
Run Code Online (Sandbox Code Playgroud)

https://earth.google.com/web/