我有一个页面,用户在其中输入颜色,然后调用 onClick 方法来更改表格中各个单元格的颜色。但是,当我单击任何单元格时,只有最后一个单元格(在本例中为 cell3)会改变颜色。我究竟做错了什么?
我得到错误:
消息:'document.getElementById(...)' 为空或不是对象
行:24
字符:4
代码:0
我的代码是:
<html>
<body>
<input type='text' id='userInput' value='yellow' />
<table border="1">
<tr>
<td id="1">cell1
</td>
</tr>
<tr>
<td id="2">cell2
</td>
</tr>
<tr>
<td id="3">cell3
</td>
</tr>
</table>
<script type="text/javascript">
for(var i = 1; i <= 3; i++){
document.getElementById(i).onclick = function(){
var newColor = document.getElementById('userInput').value;
document.getElementById(i).style.backgroundColor = newColor;
}
}
</script>
</body>
</html>