`
shangjava
  • 浏览: 1237096 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

IE中document.getElementById和document.getElementsByName特殊表现

阅读更多

HTML元素属性Id和name应该是不同的,Id犹如身份证号码,在整个页面中应该是唯一的,而name犹如姓名,在整个页面中可以重复。
JS中document.getElementById应该是用于捕捉具有某个id属性的一个元

素,document.getElementsByName是用于捕捉具有某个name属性的多个元素.
id和name不应当混淆。这一点在firefox中没有问题,而IE中的实现却不区分id和name。

eg.
<input type="text" name="t" />
<input type="text" id="t" />


javascript:
alert(document.getElementsByName('t').length);

在firefox中表现正确,输出长度为1,而在IE中输出却是2.

同样,如果使用document.getElementById('t'),在firefox中可以得到正确的id="t"的元素,而由于IE不

区分id和name,因此它将得到第一个name="t"的元素。


在IE中还有一个特殊点就是:IE中div和table等元素没有name属性,使用document.getElementsByName。得不到任何值,切记!


解决办法:
1、元素命名id和name在一个页面中最好都不要相同(避免IE混淆id和name的bug)
2、div和table等元素结合id和document.getElementsByTagName来使用

分享到:
评论

相关推荐

    document.getElementsByName和document.getElementById 在IE与FF中不同实现

    ^) 但是对于document.getElementsByName 与document.getElementById 这个两个方法,IE中是并没有严格区分 ID 与 Name 的,比如: [removed] function useGetElementsByNameWithId(id) { var eles = d

    document.getElementsByName()的用法

    其中`document.getElementsByName()`与`document.getElementById()`是常用的两种方法,它们分别通过元素的`name`属性和`id`属性来选取元素。本文将详细介绍这两种方法的用法,并进行深入比较。 #### 一、document....

    document.all与getElementById、getElementsByName、getElementsByTagName用法区别-getElementById

    在HTML文档对象模型(DOM)中,有三种主要方法用于查找HTML元素:`document.all`,`getElementById()`,`getElementsByName()` 和 `getElementsByTagName()`。这些方法各有其特性和适用场景,理解它们的区别对于编写...

    document.all与getElementById、getElementsByName、getElementsByTagName用法区别-document.all第1/2页

    总结来说,`document.all`是一个非标准的方法,尽管在旧版本的IE中常见,但不应在新代码中使用。`getElementById`、`getElementsByName`和`getElementsByTagName`则是标准的DOM操作方法,分别用于根据ID、name属性和...

    JS:document.all的用法

    然而,需要注意的是,`document.all`在标准浏览器中可能不受支持,因此在实际项目中,更推荐使用`document.getElementById`、`document.getElementsByName`等标准方法来访问DOM元素,以确保代码的兼容性和可维护性。

    JS的document_详细介绍及用法

    此外,`document`对象还有许多其他属性和方法,如`document.forms`用于访问表单,`document.images`用于访问图像,以及`document.getElementsByName()`和`getElementsByTagName()`方法用于按名称或标签名查找元素。...

    document属性和方法.txt

    ### Document属性和方法详解 #### 一、Document对象概述 `Document`对象是浏览器中一个非常重要的对象,它表示整个HTML文档。通过`Document`对象,开发者可以访问页面中的所有元素,实现对网页内容的动态操作。下面...

    Document和Document.all区别分析

    如果不在表单内,`inputName` 可能能直接引用,否则就要借助 `document.getElementById` 或 `document.getElementsByName`。 此外,对于具有ID的元素,如 `&lt;div id="aa"&gt;`,我们通常使用 `document.getElementById...

    js document对象详解

    作为 JavaScript 脚本语言中最重要的对象之一,document 对象提供了大量的属性和方法来操作和控制 HTML 文档。下面是对 document 对象的详细介绍。 document 对象属性 1. document.title:设置文档标题,等价于 ...

    JavaScript中document用法小结

    JavaScript 中 document 对象用法小结 JavaScript 中的 document 对象是一个非常重要的对象,它提供了大量的属性和方法来操作 HTML 文档。下面是对 document 对象的一些常用属性和方法的总结。 属性 1. `document...

    javascript 的Document属性和方法集合

    - `document.selection`: 在旧版的IE浏览器中,这个对象用于处理用户选择的文本。在现代浏览器中,应使用`window.getSelection()`来获取选区信息。 以上是`Document`对象及其相关属性和方法的基本概述。理解和熟练...

    前段JS开发和DOM兼容问题大全

    在IE中,可以通过`insertRow`和`insertCell`方法动态添加行和单元格。 二、其他DOM操作的兼容性问题及解决方案: 10. 在Firefox中,没有`removeNode`方法。如果需要删除节点,应使用`node.parentNode.removeChild...

    脚本中Document对象内容集合介绍

    通过`Document`对象,我们可以访问和操作页面中的元素、属性以及执行与文档交互的各种任务。下面我们将详细介绍`Document`对象的一些关键属性、方法和事件。 ### 1. 属性 - `document.title`: 用于设置或获取当前...

    JAVASCRIPT-DOCUMENT方法大全.pdf

    JavaScript中的`document`对象是浏览器提供的全局对象,用于访问和操作HTML文档的各个部分。它包含了大量的属性和方法,使得JavaScript能够与网页内容进行交互。以下是对`document`对象主要属性和方法的详细说明: ...

    document对象内容集合.txt

    - **document.getElementsByName(Name)**: 通过名称选择元素集合。 #### 方法 - **document.body.appendChild(oTag)**: 向文档体添加一个子节点。 - **document.body.onclick=func()**: 注册一个点击事件处理器。 ...

    function RadioCheck()function RadioCheck()

    var Radio=document .getElementsByName ("rdoSelect"); for (var j=0;j&lt;Radio .length ;j++) { if (Radio[j].checked) { document .getElementById ("USRNUM").value=Radio [j].value; } } }function ...

    document.all与WEB标准

    然而,`document.all`是一个不符合这些标准的特性,它是微软在Internet Explorer(IE)中引入的一个私有DOM扩展。DOM,即Document Object Model,是一个标准化的模型,用于表示HTML或XML文档的结构,并提供了一种...

Global site tag (gtag.js) - Google Analytics