如何使用Tampermonkey删除CSS类?

时间:2017-11-28 19:57:15

标签: javascript jquery html css tampermonkey

我是CSS和javascript的新手,所以请放轻松。

我正在尝试从div class =" stream-notifications"下的每个div元素中删除类disable-stream。 (见下图)

我在Tampermonkey中尝试过以下操作,但它似乎不起作用:

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

screen shot of page structure

3 个答案:

答案 0 :(得分:1)

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

divs=Array.from(divs);

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

答案 1 :(得分:1)

这看起来是一个由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 :(得分:0)

使用jQuery

使用类似的东西
$(".disable-stream div").removeClass("disable-stream");

Plunker demo