【问题标题】:Tampermonkey: Remove font-weight style from TD tagsTampermonkey:从 TD 标签中删除字体粗细样式
【发布时间】:2020-02-13 23:46:50
【问题描述】:

我正在尝试从 Wikipedia 的 AFL/VFL 赛季页面中删除结果(例如 https://en.wikipedia.org/wiki/1992_AFL_season#Round_1

我已经摆脱了'def.'、'def. by' 和分数,考虑到我大约半小时前开始学习编写 Tampermonkey 脚本,这非常好。但是我想不出办法去掉获胜球队名字上的粗体字。在源码中是这样的:

<td style="font-weight: bold;">

到目前为止我得到的脚本是这样的:

(function(NoWinner) {
  var els = document.getElementsByTagName("TD");
  for (var i = 0, l = els.length; i < l; i++) {
    var el = els[i];
    el.innerHTML = el.innerHTML.replace(/def.*/gi, '');
    el.innerHTML = el.innerHTML.replace(/\d{1,2}\.\d{1,2}\s\(\d{1,3}\)/gi, '');
  }

  NoWinner();
})();

我只是不确定如何替换实际的标签,而不是元素的内容。

【问题讨论】:

  • IIFE 没有被调用任何东西,但是你尝试调用底部的参数NoWinner - 那是什么意思? (或者这只是一个错字还是什么?)它目前会抛出一个 TypeError
  • 就像我说的,我半小时前开始学习这个,但发布的脚本对我有用。
  • 应该得到Execution of script '0 &lt;userscript name&gt;' failed! NoWinner is not a function - 我不确定你想在那里打电话
  • 我也不是,我只是按照这个问题中使用的格式:stackoverflow.com/questions/19385698/…
  • 啊,我明白了。我把名字放在括号里。是的,不知道为什么它会起作用。但确实如此,所以我就这样吧哈哈。

标签: javascript tampermonkey


【解决方案1】:

您可以直接选择粗体 td 元素并删除样式属性“font-weight”:

const allBoldTd = document.querySelectorAll('td[style*="font-weight: bold"]');


allBoldTd.forEach(td => td.style.removeProperty('font-weight'))

【讨论】:

    猜你喜欢
    • 2014-03-01
    • 2018-10-31
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    • 2022-01-25
    相关资源
    最近更新 更多