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

JS修改按钮文本后内容被遮挡,如何让新字符串显示在最上层?

你当前代码的问题在于直接修改按钮元素的innerHTML,会把按钮内原本包裹文本的<span>标签完全覆盖,替换为无标签包裹的纯文本。你的CSS规则仅对.ButtonMain下的<span>设置了position: relative,确保文本层级高于按钮的伪元素动画层,没有<span>包裹的文本默认层级低于绝对定位的伪元素,因此会被遮挡。

修复方案

方案1:最小改动,赋值时保留span标签

function myFunction() {
  document.getElementsByClassName("demo")[0].innerHTML = "<span>Copied</span>";
  setTimeout(function(){ document.getElementsByClassName("demo")[0].innerHTML = "<span>Changing Back</span>"; }, 1000);
}

方案2:更稳妥的写法,直接操作span元素修改文本

不会破坏原有DOM结构,也避免XSS风险:

function myFunction() {
  const btnText = document.querySelector(".demo span");
  btnText.textContent = "Copied";
  setTimeout(function(){ 
    btnText.textContent = "Changing Back"; 
  }, 1000);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 11:36:07