当文本格式为:text-decoration:line-through时,如何删除或隐藏网页上的所有元素?
因为这些元素已经过时或仅供参考,我不想再看到它们了。
<s>hide this line</s>
该解决方案应该是通用的,并且适用于几乎每个网站。,这意味着通过类名阻止它们不是我更喜欢的解决方案。尽管如此,我对每一个可行的解决方案持开放态度,JS、CSS、浏览器设置、其他......
有什么想法可以解决这个问题吗?
我有一种使用 Tampermonkey 的方法,但这只是有助于删除删除线,而不是元素本身。
GM_addStyle('* { text-decoration: none !important; }');
我想要伪代码中类似的东西:
if (element.text-decoration == line-through) then
element.remove
您需要做的就是在 CSS 中添加以下行。
s {
display: none;
}
我自己创建了一个解决方案,不幸的是,由于缺乏对 Web 技术、JS、CSS 的了解,这对我来说是一条艰难的道路。 现在我使用浏览器插件 Tampermonkey 将用户脚本加载到浏览器中。
这里是脚本代码:
// ==UserScript==
// @name Remove strikethrough text
// @version 1.0
// @description Removes all elements where 'text-decoration' == 'line-through'
// @author CK
// @match *://*/*
// @grant none
// ==/UserScript==
var elems = document.body.getElementsByTagName('*');
for(var i = 0; i < elems.length; i++) {
var elemStyle = window.getComputedStyle(elems[i]);
if(elemStyle.getPropertyValue('text-decoration').startsWith('line-through',0)) {
elems[i].remove();
}
}
<s>hide this line</s>