How to remove CSS Class with Tampermonkey?

一世执手 提交于 2019-12-02 10:31:58

问题


I am very new to CSS and javascript, so take it easy on me.

I am trying to remove the class disable-stream from each of the div elements under the div class="stream-notifications". (See image, below)

I have tried the following in Tampermonkey, but it doesn't seem to work:

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


回答1:


That looks to be an AJAX-driven web page, so you need to use AJAX-aware techniques to deal with it. EG waitForKeyElements, or MutationObserver, or similar.

Here's a complete script that should work:

// ==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");
}

Note that there are two @match statements because the nodes, that the OP cared about, turned out to be in an iframe.




回答2:


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

divs=Array.from(divs);

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



回答3:


Use something like this using jQuery

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

Plunker demo



来源:https://stackoverflow.com/questions/47539905/how-to-remove-css-class-with-tampermonkey

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!