document.getElementById("items_" + i) 为 null
我有以下代码:
<script type="text/javascript">
for(var i=1; i<=3; i++) {
document.getElementById("items_"+i).checked=true;
}
</script>
使用以下 HTML,
<input type="checkbox" id="items_1" name="myitems" value="1" />
<input type="checkbox" id="items_2" name="myitems" value="2" />
<input type="checkbox" id="items_3" name="myitems" value="3" />
我收到一条错误消息:
document.getElementById("items_" + i) is null.
如何解决此问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
for 循环中的第一个索引将为零。
您是否有 id 为
items_0
的元素?这可能就是导致您出现问题的原因。将
i
的初始值设置为1
其次,您要确保 Javascript 代码在 DOM 加载后执行。
我建议您考虑使用 jQuery 因为这使得做这些事情变得更加简单。
The first index in your for loop will be zero.
Do you have an element with the id
items_0
?That's likely what's causing your problem. Set the initial value of
i
to1
Secondly, you want to make sure that your Javascript code executes after the DOM has loaded.
I recomend you look into using jQuery as this makes it so much simpler to do these kinds of things.
好吧,您的代码看起来像是第一次迭代指向 i = 0,因此它试图找到 id 为“items_0”的输入标签。
这是一个 JSBin,显示代码正常工作:
http://jsbin.com/amonel/edit
Well your code looks like it's first iteration is pointed to i = 0 so it's trying to find an input tag with the id of 'items_0'.
Here is a JSBin that shows the code working correctly:
http://jsbin.com/amonel/edit
我最终使用了:
I ended up using: