微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

删除/隐藏网站上的所有“文本装饰:线条”格式的元素?

如何解决删除/隐藏网站上的所有“文本装饰:线条”格式的元素?

当文本格式为: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();
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。