`
ycyk_168
  • 浏览: 100649 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

IE中的document.all和document.getElementById()

阅读更多
document.getElementById 有时会抓name放过了id ,据说是IE的一个BUG;

http://community.csdn.net/Expert/topic/4223/4223888.xml?temp=.1947443

页面中有
    <input type="hidden" id="hello8" name="category_id" value="2" />

         <select id="category_id"   onchange="al();">

 一个是name="category_id" 一个是id="category_id"

用document.getElementById取第二个,可是,取到的却是第一个name=category_id


在IE中getElementById竟然不是先抓id而是先找name相同的物件...
 
兩個form,每個form有兩個textbox,兩個form中的textbox是相同的name,但id都不同...
這樣在Firefox是沒問題的...但在IE卻只抓得到第一個出現的name資料

下面这段代码可以验证这个结果



<HTML>
<HEAD>
<TITLE> getElementById </TITLE>
</HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function chkacc(){
alert(document.getElementById(
"tbxuid1").value);
alert(document.getElementById(
"tbxpwd1").value);
alert(document.getElementById(
"tbxuid").value);
alert(document.getElementById(
"tbxpwd").value);
}

//-->
</SCRIPT>
<BODY>
<FORM METHOD=POST ACTION="" name="frm1">
<INPUT TYPE="text" NAME="tbxuid" id="tbxuid1">
<INPUT TYPE="text" NAME="tbxpwd" id="tbxpwd1">
</FORM>
<FORM METHOD=POST ACTION="" name="frm2">
<INPUT TYPE="text" NAME="tbxuid" id="tbxuid">
<INPUT TYPE="text" NAME="tbxpwd" id="tbxpwd">
<INPUT TYPE="button" value="檢查" name="btnchk" onclick="chkacc();">
</FORM>
</BODY>
</HTML
分享到:
评论

相关推荐

    JS中关于document.all的详解

    1. **兼容性问题**:`document.all` 主要在早期版本的IE浏览器中支持,对于现代浏览器来说,推荐使用标准的方法如 `getElementById`、`querySelector` 等。 2. **性能考虑**:虽然 `document.all` 能够快速访问文档...

    javascript里的document.all用法

    在JavaScript中,`document.all`属性是Internet Explorer的专有特性,它允许脚本访问文档中的所有元素。这个属性返回一个对象集合,包含了...然而,在仅针对IE浏览器的项目中,`document.all`仍能发挥其独特的作用。

    JS:document.all的用法

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

    document.all Firefox不支持

    1. 使用条件注释或库(如jQuery)来检测浏览器类型,以便在IE中使用`document.all`,而在其他浏览器中使用标准API。 2. 避免直接使用`document.all`,转而使用更通用的DOM遍历和选择器方法。 3. 利用现代JavaScript...

    js中document.getElementByid、document.all和document.layers区分介绍

    在这个话题中,我们将深入探讨三个在JavaScript历史中起到重要作用的属性:`getElementById`,`document.all`,以及`document.layers`。 首先,`getElementById`是W3C定义的DOM Level 1标准方法,它根据指定的ID值...

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

    本文将深入探讨`document.all`与`getElementById`、`getElementsByName`、`getElementsByTagName`这四个方法的区别和用法。 1. `document.all` `document.all` 是一个数组集合,它包含了HTML文档中所有的元素,...

    Document和Document.all区别分析

    在示例代码中,我们看到两个按钮的点击事件处理程序分别使用了 `document.aa.innerText` 和 `document.all.aa.innerText`。第一个会报错,因为 `document.aa` 试图直接通过元素ID来访问,这要求元素必须已经定义了ID...

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

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

    document.all与WEB标准

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

    再谈ie和firefox下的document.all属性

    其中,`document.all`属性就是一个典型的例子,它在IE和Firefox中的表现并不相同。 `document.all`属性是IE浏览器特有的,它返回一个包含文档中所有元素的集合,无论这些元素是否有ID或名称。这个集合类似于数组,...

    JS的document.all函数使用示例

    由于`document.all`并非标准的DOM方法,因此在现代浏览器中已不再推荐使用,而是倾向于使用`document.getElementById`、`document.getElementsByTagName`、`document.querySelector`和`document.querySelectorAll`等...

    document.all的一个比较完整的总结及案例

    由于`document.all`是IE特有的,因此在现代Web开发中已经不再推荐使用,而是倾向于使用标准的DOM接口,如`getElementById`、`getElementsByClassName`和`querySelectorAll`等。 ### 1. `document.all`集合 `...

    解决 firefox 不支持 document.all的方法

    document.all 是一个遗留的对象,早期的 IE 浏览器支持它,但是 Firefox 和其他浏览器并不支持它。 那么,如何解决 Firefox 不支持 document.all 的问题呢?一种简单的方法是使用 document.getElementsByTagName("*...

    document.getElementById的简写方式(获取id对象的简略写法)

    如果不存在,则可以尝试使用`document.all`(在旧版的IE浏览器中可用)或者`document.layers`(在旧版的Netscape浏览器中可用)。如果在当前浏览器中这些特性都不存在,则返回`false`表示获取失败。 自定义简写方式...

    获取页面长宽和滚动条的位置

    var div = document.getElementById("div"); for(var i=0; i; i++) { document.body.appendChild(document.createTextNode("Hello, World!")); document.body.appendChild(document.createElement("br"));...

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

    8. IE浏览器中`getElementsByName`和`document.all[name]`不能用来取得div元素,这一点在编写兼容性代码时需要特别注意。 9. 对于table标签的操作,IE浏览器不允许对其和tr元素的innerHTML属性赋值,且使用...

Global site tag (gtag.js) - Google Analytics