You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Greasemonkey将包含day的多类名元素修改为仅保留day类

实现代码

以下是兼容Greasemonkey、Tampermonkey、Violentmonkey等主流脚本管理器的完整脚本:

// ==UserScript==
// @name         仅保留日期元素的day类
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  所有带day类的元素仅保留day类名,清除其他附加类
// @match        *://你要运行脚本的站点域名/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 核心处理逻辑
    function clearExtraClassForDayElements() {
        // 选择所有类名包含day的元素
        // 如果要避免误选类名含day子串的元素,可将 * 改为 ~,即 [class~="day"]
        const dayElements = document.querySelectorAll('[class*="day"]');
        dayElements.forEach(element => {
            // 直接重写类名为day,清除所有其他类
            element.className = 'day';
        });
    }

    // 页面静态内容加载完成后执行一次
    document.addEventListener('DOMContentLoaded', clearExtraClassForDayElements);

    // 可选:如果目标元素是动态渲染的(比如异步加载的日历组件),添加变动监听
    const observer = new MutationObserver(() => {
        clearExtraClassForDayElements();
    });
    observer.observe(document.body, {
        childList: true,
        subtree: true
    });
})();
使用说明
  • 把脚本中@match后面的站点地址替换为你实际要运行的页面地址,避免在所有站点生效
  • 如果你确定目标元素都是页面初始加载就有的,可以删除末尾MutationObserver相关的代码,减少性能消耗
  • 选择器[class*="day"]是匹配所有类名含day子串的元素,如果你要只匹配有独立day类的元素,改成[class~="day"]即可,后者只会匹配空格分隔的类列表中完全等于day的项,精准度更高

内容的提问来源于stack exchange,提问作者Wahyudi Nafii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 14:15:05