【问题标题】:How to remove a div with a changing id via Tampermonkey/Greasemonkey?如何通过 Tampermonkey/Greasemonkey 删除具有更改 id 的 div?
【发布时间】:2018-12-19 03:38:30
【问题描述】:

我希望能够删除一个 id 每次刷新页面时都会更改的 div。

div 看起来像这样:

<div id="8474adblockinfo">
</div>

因此,有一个名为“adblockinfo”的常规 id,并且在“adblockinfo”之前的 id 中总是有一组 4 个数字(例如 1234adblockinfo、1235adblockinfo)。知道如何使用 Tampermonkey 脚本删除它吗?

我试过代码:

$("div[id$='adblockinfo']").remove
$("div[id$='adblockinfo']").css('display', 'none');

似乎都不起作用。

我还认为网页在页面加载后通过 AJAX 插入 div 或其他内容,所以这可能是一个问题?我尝试在以下位置运行脚本: // @run-at document-idle 但这并没有做到。

有什么建议吗?

【问题讨论】:

  • 你写的$("div[id$='adblockinfo']").remove应该是$("div[id$='adblockinfo']").remove()
  • 感谢@CarstenLøvboAndersen 的成功!

标签: javascript jquery greasemonkey tampermonkey


【解决方案1】:

以下内容适用于静态页面和 AJAX 驱动页面:

// ==UserScript==
// @name     _delete Adblock blocking nodes
// @match    *://YOUR_SERVER.COM/YOUR_PATH/*
// @require  https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// @grant    GM.getValue
// ==/UserScript==
//- The @grant directives are needed to restore the proper sandbox.
/* global $, waitForKeyElements */

waitForKeyElements ("[id$='adblockinfo']", killNode);

function killNode (jNode) {
    jNode.remove ();
}

【讨论】:

    猜你喜欢
    • 2013-10-23
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 2019-05-22
    • 1970-01-01
    • 2012-05-27
    相关资源
    最近更新 更多