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

无法修改含多连字符ID的input,如何用JavaScript动态修改其值?

解决带连字符ID的input动态赋值问题

哦,我一眼就发现你代码里的小问题啦!你给document.getElementById()传了一个数组['name-with-annoying-hyphens'],但这个API只接受纯字符串格式的ID参数,数组肯定会导致调用失败哦~

其实带连字符的ID完全没问题,getElementById对包含特殊字符(比如连字符、下划线)的ID支持很好,只要你传对参数类型就行。

正确的写法:

直接把ID以字符串形式传进去,不用加数组包裹:

<input id="name-with-annoying-hyphens" type="number" />
<script>
  // 去掉外层的数组括号,直接传字符串ID
  document.getElementById('name-with-annoying-hyphens').value = "10";
</script>

另一种可选方法(用querySelector):

如果你习惯用CSS选择器的写法,也可以用querySelector,记得在ID前加#:

<input id="name-with-annoying-hyphens" type="number" />
<script>
  document.querySelector('#name-with-annoying-hyphens').value = "10";
</script>

这两种写法都能正常给这个带连字符的input赋值,你可以直接测试~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:55:24