Javascript 隐藏名称中带有空格的类

Javascript 隐藏名称中带有空格的类,javascript,css,greasemonkey,Javascript,Css,Greasemonkey,我有一个简单的GreaseMonkey脚本,用于在GMail中隐藏内容: // ==UserScript== // @name GMail // @namespace Namespace // @include https://mail.google.com/* // @version 1 // @grant none // ==/UserScript== function addGlobalStyle(css) { var head, s

我有一个简单的GreaseMonkey脚本,用于在GMail中隐藏内容:

// ==UserScript==
// @name        GMail
// @namespace   Namespace
// @include     https://mail.google.com/*
// @version     1
// @grant       none
// ==/UserScript==

function addGlobalStyle(css) {
    var head, style;
    head = document.getElementsByTagName('head')[0];
    if (!head) { return; }
    style = document.createElement('style');
    style.type = 'text/css';
    style.innerHTML = css;
    head.appendChild(style);
}

addGlobalStyle(".mq, .oM, .AT, .Zs { display: none; }");
它工作正常,但我发现我需要在GMail上隐藏一个元素,显示为:

<div class="P4mo8e gsl0xd hh">
但这并没有起作用,因为该div中的内容仍然出现

任何建议都将不胜感激


谢谢

这些是多个类,而不是一个带有空格的类。这意味着您的样式定义不足以覆盖Gmail设置的样式。尝试以下方法:

addGlobalStyle(".P4mo8e.gsl0xd.hh { display: none !important; }")

尽管如此,如果元素具有带有
的内联样式,这仍然不能保证有效!重要标志。

这些是多个类,而不是一个带空格的类。这意味着您的样式定义不足以覆盖Gmail设置的样式。尝试以下方法:

addGlobalStyle(".P4mo8e.gsl0xd.hh { display: none !important; }")

尽管如此,如果元素具有带有
的内联样式,这仍然不能保证有效!重要信息
标志。

类的名称中没有空格。这是一种将多个类应用于HTML元素的方法。因此,
P4mo8e gsl0xd hh
是三个类,它们可能应用不同的样式,但它们的存在可能允许JavaScript引用它们。

类的名称中没有空格。这是一种将多个类应用于HTML元素的方法。因此,
P4mo8e gsl0xd hh
是三个类,它们可能应用不同的样式,但它们的存在可能允许JavaScript引用它们。

如果需要在所有类都存在时匹配,请删除空格。例如,
.P4mo8e.gsl0xd.hh
在所有类都存在时,如果需要匹配,请删除空格。例如,
.P4mo8e.gsl0xd.hh
我用过
!重要信息
在GMail用户脚本中,它通常可以正常工作。GMail是一个干净的黑客,但我不认为它直接在任何元素上设置样式。我使用了
!重要信息
在GMail用户脚本中,它通常可以正常工作。GMail是一个干净的黑客,但我不认为它直接设置任何元素的风格。