ユーザーが色を入力するページがあり、onClick メソッドを呼び出してテーブルの個々のセルの色を変更します。ただし、任意のセルをクリックすると、最後のセル (この場合は cell3) だけが色が変わります。私は何を間違っていますか?
エラーが発生します:
メッセージ: 'document.getElementById(...)' は null またはオブジェクトではありません
行: 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>