关于我正在创建的网页的问题

时间:2016-12-11 15:03:47

标签: javascript html arrays dom

大家好,感谢您抽出时间回答这个问题。

在我的网站上,我一直在尝试创建三个按钮,我用html完成。

ON 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代码上的错误,并且在我的警报中我收到的是undefined而不是获取数组中的hte项目吗?

为新手JS问题道歉!

1 个答案:

答案 0 :(得分:1)

var items = ['Sugar','Tea','Peper']
for (var btnNum=0; btnNum <items.length;btnNum++){
  (function(btnNum){
    document.getElementById('btn-' + btnNum).onclick = function() {
  alert(items[btnNum]);
  };
  })(btnNum)

}