Javascript如何在单击显示为按钮的数组元素时启动事件
我用给定的项目填充数组,并将它们显示为按钮。用户应点击其中一个按钮。根据他点击的按钮,答案可能会有所不同。这就是我目前所做的:Javascript如何在单击显示为按钮的数组元素时启动事件,javascript,arrays,onclick,Javascript,Arrays,Onclick,我用给定的项目填充数组,并将它们显示为按钮。用户应点击其中一个按钮。根据他点击的按钮,答案可能会有所不同。这就是我目前所做的: var1=“1”; var2=“2”; var3=“3”; var4=“4”; var myarray=[var1,var2,var3,var4]; 对于(var i=0;i
var1=“1”;
var2=“2”;
var3=“3”;
var4=“4”;
var myarray=[var1,var2,var3,var4];
对于(var i=0;ivar arr=[1,2,3,4];
对于(变量i=0;i
输入[类型=对象]
?另外,使用document.createElement
创建一个元素,谢谢,谢谢。这正是我想要的。很有魅力。另一个问题。如何在元素之间添加空格?如果我写btn.innerHTML=“
”+val”
,它只会使按钮变大。添加html代码的正确语法是什么?你需要使用CSS来完成。按钮{display:inline block;margin:10px;padding:5px;}@user9如果对你有效,你能接受答案吗?
var arr = [1, 2, 3, 4];
for(var i=0; i < arr.length; i++) {
(function(val) {
btn = document.createElement('button');
btn.data = val; // assign the value to compare to an attribute on the button.
btn.innerHTML = 'option' + val;
btn.addEventListener('click', checkAnswer);
document.body.appendChild(btn);
})(arr[i]); // create a closure, so that all buttons don't refer to the same value later.
}
function checkAnswer(evt) {
if (evt.target.data == 4) { // evt.target == button
alert('Good answer');
} else {
alert('Bad answer');
}
}