【发布时间】:2017-04-26 12:49:39
【问题描述】:
大家好,感谢您抽出宝贵时间回答这个问题。
在我的网站上,我一直在尝试创建三个我在 html 中完成的按钮。
在 JS 上,我创建了一个或多个数组,并尝试使用 DOM,所以每当 somsone 单击按钮时,数组中的相应项就会出现,但现在我收到的警报是未定义的。任何人都可以帮忙帮我调试一下错误?
HTML 有:
<button id ="btn-0">Button 1!</button>
<button id ="btn-1">Button 2!</button>
<button id ="btn-2">Button 3!</button>
而 JS 有:
var items = ['Sugar','Tea','Peper']
for (var btnNum=0; btnNum <items.length;btnNum++){
document.getElementbyId('btn-' + btnNum).onclick = function() {
alert(items[btnNum]);
};
}
谁能告诉我我在哪里做错了 JS 代码并在我收到未定义而不是获取数组的 hte 项时收到警报?
为这个非常新手的 JS 问题道歉!
【问题讨论】:
-
这是因为您在 onClick 函数中使用了 btnNum
-
当点击被调用时,btnNum 值将是 3..... 因为它是在 for 循环中设置的
-
当你点击按钮时不执行循环所以....不执行...
标签: javascript html arrays dom