【分享】小心IE 下document.getElementById()的陷阱
本帖最后由 WebAdvocate 于 2010-07-22 22:52:55 编辑 document.getElementById() 方法,我们都很熟悉的,这个方法可以使用一个元素的 ID 获取这个元素的 DOM 对象。W3C规定这个方法只能以 ID 为参数,但是 MSDN 中对此方法的定义确是返回第一个 ID 或 name 为参数的 DOM 与元素。看,MSDN里的说明:http://msdn.microsoft.com/en-us/library/ms536437(VS.85).aspx
因为这个差异,会造成这个方法的兼容性问题。当使用元素的 name 获取元素对象的时候,就会产生这个问题,IE支持,Safari 和 Chrome 等都不支持。
请看下面的代码:
<input type="button" id="inputid" name="inputname" value="test">
<script>
window.onload = function() {
alert(document.getElementById("inputname"));
}
</script>
<html>
<head>
<meta content="分享 看看你是否错误 使用了 getElementById 方法 Web 开发 跨浏览器开发" name="Keywords"/>
</head>
<body>
<div id='Keywords'>
abc
</div>
<script>
alert(document.getElementById('Keywords').innerHTML);
</script>
</body>
</html>