text1:
<input name="textName1" type="text" id="textName2" />
<br>
text2:
<input name="textName2" type="text" id="textName1" />
<br>
<input type="button" name="Submit" value="text1" onclick=alert(document.getElementById('textName2').value) />
<input type="button" name="Submit2" value="text2" onclick=alert(document.getElementById('textName1').value) />
我在IE中测试了上面的代码,在第一个文本框中输入1,在第二个文本框中输入2,然后点下面的两个按钮,猜一下结果是什么?
我本意是按钮1返回第一个文本框的值,按钮2返回个文本框的值。
结果是两个按钮都返回了第一个文本框的值。
说明ie执行document.getElementById(elementName)的时候,返回的是第一个name或者id等于elementName的对象,并不是按照ID来查找的。
在fireFox中不存在这样的问题,fireFox执行document.getElementById(elementName)的时候只查找id等于elementName的对象,如果不存在则返回null。
可能IE是考虑的兼容性的问题才这么做的。
分享到:
相关推荐
var $ = document.getElementById.bind(document); ``` 需要注意的是,`bind`方法在IE9及更高版本、Firefox、Chrome等现代浏览器中才被支持。 除了`getElementById`之外,其他一些与`document`或`window`对象...
document.getElementById()对象和使用方法
`TypeError: document.getElementById(...) is null` 是一个常见的JavaScript错误,通常出现在尝试访问一个尚未加载或者不存在于DOM(文档对象模型)中的元素时。这个错误表示`document.getElementById`方法未能找到...
document.getElementById为null 原因: var titab=document.getElementById(“titletab”);没有取到对象 解决办法: 1.在错误语句的下面加上alert(titab);调试语句,看看是否有消息框弹出 2.如果没有弹出,检查...
在上述问题中,主要讨论了如何正确地使用 `document.getElementById` 方法来获取页面中的元素对象,特别是在页面加载过程中的时机问题。 首先,`document.getElementById` 是JavaScript中的一个函数,它用于根据...
在Vue框架下,开发者可能会遇到使用`document.getElementById()`方法时,获取到的是旧页面的DOM元素值的问题。这一现象通常发生在页面通过路由进行切换时,尽管DOM结构已经发生了变化,但是通过该方法仍然获取到了...
了解这些基本的JavaScript执行机制和DOM加载流程,能帮助开发者避免`TypeError: document.getElementById(...) is null`这类常见的错误,提高代码的健壮性和用户体验。记住,良好的编程习惯和对文档结构的理解是解决...
### JS中关于`document.all`的详解 #### 一、`document.all`简介 `document.all` 是一个只读属性,它返回一个包含文档中所有元素的类数组对象。这个特性最初是为 Internet Explorer 设计的,并且在早期版本的 IE 中...
① document.getElementById 有时会抓name放过了id ,据说是IE的一个BUG; http://community.csdn.net/Expert/topic/4223/4223888.xml?temp=.1947443 页面中有 程序代码 <input type=”hidden” id=”hello8...
^) 但是对于document.getElementsByName 与document.getElementById 这个两个方法,IE中是并没有严格区分 ID 与 Name 的,比如: [removed] function useGetElementsByNameWithId(id) { var eles = d
其中`document.getElementsByName()`与`document.getElementById()`是常用的两种方法,它们分别通过元素的`name`属性和`id`属性来选取元素。本文将详细介绍这两种方法的用法,并进行深入比较。 #### 一、document....
document.all是IE 4.0及以上版本的专有属性,是一个表示当前文档的所有对象的娄组,不仅包括页面上可见的实体对象,还包括一些不可见的对象,比如html注释等等。在document.all数组里面,元素不分层次,是按照其在...
onload = function ( ) { formNode = document . getElementById ( 'form' ) ; submitButtonNode = document . getElementById ( 'submit' ) ; nameInputNode = document . getElementById ( 'name' ) ; ...
比如用_$(id)代替document.getElementById(id). 如果是纯粹的代替可以使用下面的代码 代码如下: function $(id){document.getElementById(id)} 个人比较推荐用prototype中对document.getElementById的定义: 代码如下...
在讨论原生JavaScript(简称js)操作复选框(checkbox)时,常用的方法包括使用document.getElementById()函数来获取特定ID的DOM元素,并操作其checked属性来控制复选框的选中状态。这种方法相较于使用jQuery库中的...
上面的对于新版本的浏览器都是没有问题的,如果使用古老的浏览器,可以使用下面的函数 代码如下:function $(objectId) { if(document.getElementById && document.getElementById(objectId)) { // W3C DOM return ...