编程语言
首页 > 编程语言> > javascript – 访问Web组件的本地DOM(从外部)并将值设置为其子项

javascript – 访问Web组件的本地DOM(从外部)并将值设置为其子项

作者:互联网

我有一个使用Polymer开发的Web应用程序,并希望使用JavaScript实现端到端测试.这就是为什么我尝试以编程方式设置一些值,但我无法通过以下任一方式访问元素的本地DOM:

document.getElementById('nativeInput'); 
document.querySelector('#nativeInput');

有人告诉我,无法直接访问shadow-root元素并在其上设置值.所以我的基本问题是:如何访问元素的影子DOM并为其子元素设置一些值?请告诉我这是否可行,如果可以,请分享一些解决方案.

请参阅屏幕截图,以便在#shadow-root(open)上使用我的JavaScript选择器在HTML元素上更清楚地了解我要完成的任务.

html element tree

解决方法:

由于它是在open mode创建的,你应该能够通过node.shadowRoot访问它.也就是说,阴影dom存在以隔离聚合元素的内部结构,所以你应该首先检查铁输入自定义元素是否提供了一个公共API,允许你设置值.

标签:javascript,dom,polymer,shadow-dom
来源: https://codeday.me/bug/20190823/1698399.html