哪些浏览器支持getElementById?

时间:2012-12-11 23:44:32

标签: javascript cross-browser getelementbyid

假设getElementById适用于每个浏览器是否安全?如果没有,哪些人支持/不支持?

4 个答案:

答案 0 :(得分:12)

所有浏览器都支持这个,但我在IE6和7中遇到了一个问题(添加到@ Esailija的回答)

执行此操作:

<input type="text" name="address" id="address" value="5th Avenue" />  
  

不要这样做:

<input type="text" name="full_address" id="address" value="5th Avenue" />  

您应该这样做的原因是因为在Internet Explorer中,如果您尝试使用getElementById定位元素,由于某种原因浏览器将搜索页面上某些元素的name属性,此外到了id。假设我们使用了错误的方法来编码名称和id值,下面的代码块将在IE7中获得完全相同的结果:

var fullAddress = document.getElementById("full_address");  
alert(fullAddress.value);  

var fullAddress = document.getElementById("address");  
alert(fullAddress.value);  

答案 1 :(得分:3)

所有当前浏览器都支持它。自DOM Level 1以来,它一直是DOM的一部分。因此,基本上每个支持文档对象模块的浏览器(从IE 5.5开始)都应该支持这种方法。

来源:MDN (document.getElementById)

答案 2 :(得分:3)

嗯它的支持非常广泛但至少有两个我知道的错误(Both from jQuery source):

  • Blackberry返回不在dom中的元素
  • 如果name匹配id(Opera,IE ..版本未知)
  • ,则返回元素

答案 3 :(得分:1)

由于您要求它的最低工作要求,我认为这意味着您可以期待它工作的最早的浏览器,请查看此页面:

http://www.quirksmode.org/dom/w3c_core.html

根据它,你在IE-8之前处于危险的境地(他们说“差不多”)并且在FireFox,Safari,Chrome和Opera方面都很好。