如何解决选择阴影根中的元素
我想更改隐藏在 shadow root 中的元素中的属性。由于项目的性质,我不能直接引用 JS 中的文档,我只能使用自定义类(不适用于 shadow root)或 jQuery,但我不知道如何写路径元素。
元素没有“部分”,所以我不能在选择器中使用它。
我已经尝试过的 - 我选择了 shadow 上方的最后一个元素并引用了它的 shadowRoot,然后我尝试通过其 id 找到封装的元素。我在 devtool 中测试它,到目前为止没有成功。
$("#root_ptcschartline-7-bounding-box".shadowRoot).find("#chart-line")
.css('padding','100px');
html 片段:
解决方法
自 2011 年 IE9 发布以来就不需要 jQuery 选择器了
[element].querySelector( selector )
使用相同的符号
-
let div = document.querySelector("#root_ptcschartline-7-bounding-box");
为您提供<div>
-
let chartLine = div.querySelector("ptcs-chart-line");
获取<ptcs-chart-line>
元素 -
let shadow = chartline.shadowRoot;
为您提供 shadowRoot 参考 -
let layout = shadow.querySelector("#chart-layout")
获取<ptcs-chart-layout>
元素
全部合并
let layout = document
.querySelector("#root_ptcschartline-7-bounding-box ptcs-chart-line")
.shadowRoot
.querySelector("#chart-layout");
layout.style.padding = "100px";
,
正如我所提到的,我不能使用“文档”。
虽然这似乎可以解决问题:
$ iccarm --help
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。