【问题标题】:Can't get element by id无法通过 id 获取元素
【发布时间】:2012-07-20 23:00:49
【问题描述】:

我有以下代码,但我不明白出了什么问题。

<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,第二个成功。
在 IE9 上,我获得了第一次成功和第二次 null。

在所有 DOM 加载完毕后调用 JS。

为什么以及如何解决这个问题?

JSFiddle

【问题讨论】:

  • 下一次,最好先发布实际问题,而不是 AAAAAAAAAAAAAAAAAAAAAAAAA。撤回投票并投票重新开放。
  • 链接的 jsfiddle 工作得很好。但是,它与此处发布的代码不同。

标签: javascript dom getelementbyid


【解决方案1】:

问题是第二个警报末尾有多余的空格,导致getElementById 失败..

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

如果你删除它,它会正常工作..

【讨论】:

  • @RandallFlagg 修复了这部分对我来说效果很好。查看jsfiddle.net/NUCYH/1
  • 我的问题出在其他地方,但我确实了解到 JSFiddle 需要标签表。谢谢
  • @RandallFlagg,是的。我在检查代码之前本能地添加了这一点。很好!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-21
  • 1970-01-01
  • 1970-01-01
  • 2017-05-26
相关资源
最近更新 更多