【发布时间】:2021-07-25 16:01:36
【问题描述】:
点击按钮时背景颜色应该改变有一个规则,按钮应该由矩阵创建,如下所示。错误是红色是点击任何按钮时唯一的输出
var currColor = 5,
flag = 1;
var colors = ['red', 'blue', 'green', 'yellow', 'black'];
for (var i = 0; i < 5; i++) {
document.write('<input type="button" onclick="change()" id="btn" value=' + colors[i] + ' style="background-color:' + colors[i] + ' ;"></input>');
}
function change(i) {
var colorsName = document.getElementById('btn').value;
document.body.style.backgroundColor = colorsName;
}
【问题讨论】:
-
document.write是个坏主意:stackoverflow.com/questions/802854/… -
而且在多个按钮中使用相同的id也是个坏主意,因为
.getElementById只能找到第一个元素。将this传递给函数,并从this.value读取颜色。要更改document.write,请参阅developer.mozilla.org/en-US/docs/Learn/JavaScript/…
标签: javascript matrix background-color