如何使用 Tampermonkey 删除 CSS 类?

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

我对 CSS 和 javascript 很陌生,所以别着急。

我试图从 div class="stream-notifications" 下的每个 div 元素中删除类

disable-stream
。 (见下图)

我在 Tampermonkey 中尝试了以下方法,但似乎不起作用:

(function() {
'use strict';
disable-stream.classList.remove("disable-stream");})();

screen shot of page structure

javascript jquery html css tampermonkey
3个回答
5
投票

这看起来是一个 AJAX 驱动的网页,因此您需要使用 AJAX 感知技术来处理它。 EG waitForKeyElements,或

MutationObserver
,或类似的。

这是应该有效的完整脚本

// ==UserScript==
// @name     _Remove a select class from nodes
// @match    *://app.hubspot.com/reports-dashboard/*
// @match    *://app.hubspot.com/sales-notifications-embedded/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// ==/UserScript==
//- The @grant directive is needed to restore the proper sandbox.
console.log ("Do you see this?");

waitForKeyElements (".disable-stream", removeDSclass);

function removeDSclass (jNode) {
    console.log ("Cleaned node: ", jNode);
    jNode.removeClass ("disable-stream");
}

请注意,有两个

@match
语句,因为 OP 关心的节点原来位于 iframe 中。


2
投票
var divs =document.getElementsByClassName("stream-notifications");

divs=Array.from(divs);

divs.forEach(function(div){
  div.classList.remove('disable-stream');
 });

0
投票

使用 jQuery 来使用类似的东西

$(".disable-stream div").removeClass("disable-stream");

Plunker 演示

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