的getElementById和querySelectorAll不镀铬工作://历史
我想简化我的生活一点,并通过查询删除铬的历史。我有几百个复选框要删除,手动操作真的很痛苦。的getElementById和querySelectorAll不镀铬工作://历史
于是我打开chrome://history/?q=somequery
,并看到了很多的复选框。我写:
document.querySelectorAll('[aria-checked]')
并且它什么也没有返回。好吧,我写:
document.querySelectorAll('button')
它什么也没有返回!好吧,那么我只是打Edit HTML
按钮,手动添加一些元素,然后试图通过ID来获得它:
document.getElementById('foooobar')
而且你知道吗?没有。
我不明白它是否使用某种框架或阻止我访问这些元素的东西,但我检查了没有i-/frame,所以我只是困惑它为什么不起作用如预期。
我问前一派,发现几个答案,人们只是想创建它们之前得到的元素,但现在页面完全加载和元素仍然不可用......
你需要将手伸入阴影通过使用:: shadow伪选择器。试试这个片段来选择所有的按钮。
[].slice.call(document
.querySelector('history-app::shadow iron-pages history-list')
.querySelector('history-list::shadow iron-list')
.querySelectorAll('iron-list history-item'))
.forEach(function(el) {
console.log(el.querySelector('history-item::shadow button'))
});
我听说阴影仍然是一种实验技术。我没想到他们已经使用过它。 –
这是一年或两年前更实验的方式,现在它有很多的用途和浏览器甚至在内部使用它的元素。如果您在各自的检查员中启用它,您可以看到它。 –
它是一种高分子的应用程序。聚合物使用网络组件,反过来创建阴影。比基本dom更复杂 – charlietfl