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

Greasemonkey修改HTML指定文本失败:求助与可行方案

替换网页特定H4标签文本的解决方案

问题背景

需要将页面中以下元素的文本“Behemoth”替换为“Plots 19, 20, 21, 49, 50, 51”:

<h4 data-v-42b52bab="" class="title is-4 mt-4">Behemoth <!----></h4>

失败的尝试

第一次尝试:直接修改textContent

使用getElementsByClassName获取元素并修改textContent,但未生效:

var strongElems = document.getElementsByClassName('is-4');

for (var i=0; i<strongElems.length; i++)
{
  var thisElem = strongElems[i];
   thisElem.textContent = "Plots 19, 20, 21, 49, 50, 51"; // change it
}

第二次尝试:结合setTimeout和innerHTML

加入延迟并改用innerHTML,仍未成功(代码存在语法错误:多了一个多余的闭合}):

var strongElems = document.getElementsByClassName('is-4');

setTimeout(function() {

for (var i=0; i<strongElems.length; i++)
{
  var thisElem = strongElems[i];
   thisElem.innerHTML = "Plots 19, 20, 21, 49, 50, 51";
}
  
}, 5000); 

}); 

成功的解决方案

修正语法错误,改用innerText并调整延迟时间后,代码生效:

var strongElems = document.getElementsByClassName('is-4');
console.log(strongElems.length);

setTimeout(function() {

for (let i = 0; i < strongElems.length; i++) {
  let thisElem = strongElems[i];
  thisElem.innerText = "Plots 19, 20, 21, 49, 50, 51";
}
  
}, 3000); 

关键修正点

  • 移除了第二次尝试中多余的闭合},修正语法错误
  • 将innerHTML改为innerText,更适配纯文本替换场景
  • 使用let声明循环变量,避免闭包导致的变量绑定问题
  • 调整延迟时间到3000ms,确保目标元素已完成加载

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 15:12:40