ユーザーが色を入力するページがあり、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>