2012-07-22 93 views
-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")); 

第一个给我空和第二成功。
在IE9上我第一次获得成功,第二次获得成功。

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

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

JSFiddle

+4

下一次,最好先发布实际问题,而不是AAAAAAAAAAAAAAAAAAAAAA。撤回投票并投票重新开放。 – 2012-07-22 12:12:01

+0

链接的jsfiddle工作得很好。然而,这与发布在这里的代码不一样。 – Pointy 2012-07-22 12:21:24

回答

0

的问题是,第二个警报有一个最后的额外空间,从而导致getElementById失败..

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

,如果你删除它,它会工作得很好..

+0

不是问题。但是谢谢。修复。 – 2012-07-22 12:18:01

+0

@RandallFlagg它适用于我这部分固定好..检查http://jsfiddle.net/NUCYH/1/ – 2012-07-22 12:18:39

+0

我的问题是其他地方,但我确实知道JSFiddle需要标记表。谢谢 – 2012-07-22 12:31:41