我使用jQuery 3.7.1搜索多个span出现的类为"modified",当找到它时,删除包含类为"item"的包封.
这在shadow root之前工作,并将关闭HTML中找到的所有实例.
$("span.modified").closest("div.item").remove();
但现在不是了我试过...
$("span.modified").shadowRoot.closest("div.item").remove();
但也没什么进展我有下面的示例代码,我正在寻找打开的影子根目录中的span,并试图删除不在影子根目录中的封闭div.我只是最近才知道暗影根,我很困惑.任何指向正确方向的指示将不胜感激.此外,我试图复制原来的功能,在页面上查找所有跨度,可能包含"修改",并关闭所有封闭的div与类"项目",
<div class="item">
<a href="<SOME_LINK_HERE>" target="_blank">
<x-cover volume="Test" id="23310203">
#shadow-root (open)
<div class="show" id="div">
<span class="modified">Modified</span>
</div>
</x-cover>
</a>
</div>
更新:我刚刚了解到jQuery无法穿透Shadow DOM,因此解决方案似乎类似于...
- 使用jQuery查找所有x—cover元素.
- 迭代这些元素并使用vanilla JavaScript访问 他们的影子
- 在shadow DOM中,找到修改了类的span元素.
- 对于找到的每个span,向上遍历div.entry并删除它.
我会更新一个解决方案,如果我找到一个当然.