获取JavaScript中自定义元素的ID

时间:2019-04-29 02:51:26

标签: javascript html tampermonkey

我正在为Google Earth创建一个tampermonkey脚本,当您按下一个键时,它将隐藏工具栏。应该被隐藏的元素之一看起来像这样:

<earth-toolbar id="toolbar" role="toolbar">...</earth-toolbar>

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

document.getElementById('toolbar').style.display = 'none'

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

但是,出现此错误。

  

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

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

1 个答案:

答案 0 :(得分:4)

#toolbar#shadow-root内,因此必须访问该父对象的.root属性才能在其中找到元素:

document.querySelector('earth-app').root.querySelector('#toolbar').style.display = 'none';

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