-6

私は次のコードを持っていますが、何が悪いのか理解できません。

<tr id="outState">
    <th>State</th>
    <td style="text-align: center;" id="stateRow_0" xmlns="">
        <select id="state_0">
            <option value="0">0</option>
            <option value="1">1</option>
        </select>
    </td>
</tr>

出力:

alert(document.getElementById("outState"));
alert(document.getElementById("stateRow_0 "));
alert(document.getElementById("state_0"));

最初のものは私にnullを与え、2番目は成功します。
IE9では、最初の成功と2番目のnullを取得します。

JSは、すべてのDOMがロードされた後に呼び出されます。

なぜ、どうすればこれを解決できますか?

JSFiddle

4

1 に答える 1

0

問題は、2番目のアラートの最後に余分なスペースがあり、getElementByIdが失敗することです。

alert(document.getElementById("stateRow_0 "));
                                         ^

削除すれば問題なく動作します。

于 2012-07-22T12:16:51.450 に答える