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

问题描述 投票:0回答:3

当文本格式为: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
javascript html css formatting strikethrough
3个回答
0
投票

您需要做的就是在 CSS 中添加以下行。

s {
    display: none;
  }

0
投票

我自己创建了一个解决方案,不幸的是,由于缺乏对 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();
  }
}

0
投票

<s>hide this line</s>

© www.soinside.com 2019 - 2024. All rights reserved.