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

如何用变量修改onmouseover文本?代码无法运行求助

你的代码问题排查与修复

我来帮你捋捋代码跑不起来的原因,主要是几个小细节没处理到位:

  • 函数参数不能用var声明:你在定义mouseOver函数时,参数前面加了var,这是语法错误。函数的参数列表直接写变量名就行,不需要用var声明。
  • 调用函数时参数未加引号:你在onmouseover里传的shalom和demo都是字符串,但没加引号的话,JavaScript会把它们当成变量去查找,可你并没有定义这两个变量,所以会触发引用错误。必须把它们改成带引号的字符串形式。
  • 多余的valueOf()调用:str本身就是字符串类型,str.valueOf()完全是多余的操作,直接使用str就可以完成赋值。

下面是修正后的完整代码:

<script>
function mouseOver(h1, h2) {
  var str = h1;
  document.getElementById(h2).innerHTML = str;
}
</script>
<h2 id="demo" onmouseover="mouseOver('shalom','demo')">שלום</h2>

另外,其实还可以简化一下函数,不用额外声明str变量:

<script>
function mouseOver(text, elementId) {
  document.getElementById(elementId).innerHTML = text;
}
</script>
<h2 id="demo" onmouseover="mouseOver('shalom','demo')">שלום</h2>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:12:56