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

如何使用Tampermonkey脚本修改无ID的HTML元素的style和onclick属性

Tampermonkey 脚本实现方案

直接使用下方完整脚本即可,已适配你提到的场景需求:

// ==UserScript==
// @name         修复游戏站点禁用按钮
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  自动修复学习站点被禁用的游戏启动按钮
// @match        *://你的游戏站点域名/* // 这里替换成你实际的站点域名
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    // 待匹配的原始禁用按钮style属性值,完全匹配即可定位
    const DISABLED_BTN_STYLE = "border:outset;font-size:14px;background-color:darkgrey;color:white;";
    // 轮询检测间隔,单位毫秒,300ms可兼顾实时性和性能
    const CHECK_INTERVAL = 300;

    function fixButtons() {
        // 定位所有符合禁用样式、且未被修复过的label按钮
        const disabledBtns = document.querySelectorAll(`label[style="${DISABLED_BTN_STYLE}"]:not([data-fixed])`);
        if (disabledBtns.length === 0) return;

        disabledBtns.forEach(btn => {
            // 处理当前Car Puzzle按钮,其他按钮可按照这个逻辑修改判断条件
            if (btn.textContent.includes("Car Puzzle (2 pts)")) {
                // 修改onclick属性,移除开头的x
                btn.setAttribute("onclick", btn.getAttribute("onclick").replace(/^x/, ""));
                // 覆盖为目标style,已修正原示例里width的等号为CSS规范的冒号
                btn.setAttribute("style", "width:100%;border:outset;font-size:14px;color:blue;");
                // 加自定义标记避免重复修改
                btn.dataset.fixed = "true";
            }
            // 其他3个按钮可以在这里加else if分支,匹配对应按钮文本即可
            // else if (btn.textContent.includes("其他按钮文本")) {
            //     对应修改逻辑
            // }
        })
    }

    // 启动定时轮询,适配菜单关闭再打开后元素重置的场景
    setInterval(fixButtons, CHECK_INTERVAL);
})();

注意事项

  • 使用前需要把脚本头部@match后面的域名替换成你实际使用的游戏站点域名
  • 剩余3个按钮直接按照代码里的注释新增分支适配即可
  • 如果后续禁用按钮的原始样式有变动,直接修改DISABLED_BTN_STYLE变量的值为新的style属性值即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:15:04