我有这个简单的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">
我不确定如何隐藏这些因为我尝试过:
addGlobalStyle(".mq, .oM, .AT, .Zs, .P4mo8e, .gsl0xd, .hh { display: none; }");
但那不起作用,因为该div中的内容仍然存在。
非常感谢任何建议。
由于
答案 0 :(得分:4)
这些是多个类,而不是一个带空格的类。这意味着您的样式定义不足以覆盖Gmail设置的样式specific。尝试类似:
addGlobalStyle(".P4mo8e.gsl0xd.hh { display: none !important; }")
尽管如果元素具有带有!important
标志的内联样式,仍然无法保证工作。
答案 1 :(得分:1)
类不名称中包含空格。这是一种将多个类应用于HTML元素的方法。所以P4mo8e gsl0xd hh
是三个类,可能会应用不同的样式,但它们可能存在以允许JavaScript引用它们。