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

IE,QQ浏览器下getElementsByName的重大bug

阅读更多

今天做个网页,突然发现document.getElementsByName的重大的问题

如果控件的name属性,和别的控件的id属性一样,

那么document.getElementsByName把别的控件都一起获得了。

 

后来发现,是浏览器的问题,

IE,QQ浏览器都是这样,

360Chrome浏览器不会。

 

这个方法这么常用,万一真的页面里面,真有这种情况出现,

后果岂不很严重,开发浏览器的人不赶紧修复一下,HTML的解析怎么能解成这样???

 

首先,大家可以到:

http://www.w3school.com.cn/tiy/t.asp?f=hdom_document_getbyname

然后,点一下右边的"名为'myInput'的元素有多少个?"按钮,

答案是3个。

 

然后修改一下代码,增加这个控件:

<input name="abc" id="myInput" type="text" size="20" /><br />

 

然后提交代码,

再点右边的按钮,

答案是4个。

 

天啊,怎么能有这样的bug呢!!!!

分享到:
评论

相关推荐

    让getElementsByName适应IE和firefox的方法

    w3c规范中getElementsByName是按着name属性进行检索的,而MS的IE却是按着id来检索。导致不能得到应该得到的Elements,为适应浏览器,我们可以做一下调整: 一、把需要用getElementsByName的name都加上id,且id和...

    innerHTML 和 getElementsByName 在IE下面的bug 的解决

    innerHTML 真的一个麻烦的东西。IE 和 firefox 对dom 处理的方式不是很一样。IE 对动态加载的很多dom 不支持动态更新。

    详解JavaScript 中getElementsByName在IE中的注意事项

    详解JavaScript 中getElementsByName在IE中的注意事项 前言: 在IE5-9中是没有实现js的 getElementsByClassName()方法,但是实现了getElementsByName()方法,但是需要注意的是这个方法在IE5-9中也返回id属性匹配的指定...

    IE中getElementsByName()对有些元素无效的解决方案

    主要介绍了IE中getElementsByName()对有些元素无效的解决方案,很简单,很实用,需要的朋友可以参考下

    document.getElementsByName()的用法

    详细介绍并对比了document.getElementsByName()和document.getElementByNId()的用法,并进行了深入的比较,还有例子加以讲解说明。

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

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

    JavaScript 数据元素集合与数组的区别说明

    其中getElementsByName(name)方法是获取页面中所有具有name属性的元素,但这个方法在IE与标准浏览器中所取到的内容不一样。在IE中getElementsByName(name)方法所取到的元素是其本身就自带有name属性也就是form表单中...

    Document:getElementsByName()使用方法及示例

    定义和用法 getElementsByName() 方法可返回带有指定名称的对象的集合。 语法document.getElementsByName(name) 该方法与 getElementById() 方法相似,但是它查询元素的 name 属性,而不是 id 属性。 另外,因为一个...

    javascript的IE和Firefox兼容性汇编

    javascript的IE和Firefox兼容性汇编 1. document.form.item 问题 (1)现有问题: 现有代码中存在许多 document....又如:document.getElementsByName("inputName")(1) 改为 document.getElementsByName("inputName")[1]

    浏览器兼容的JS写法总结

     (2)解决方法:使用getElementsByName(name),getElementById(id)等来替代。 2. 集合类对象问题  (1)现有问题:IE中对许多集合类对象取用时可以用 (),但在Firefox只能用[]。  如:IE中可以使用document.forms(...

    javascript getElementsByName()的用法说明

    当页面上的控件同名且多个的时候,你首先做的是什么?判断长度?的确,从程序的严密角度出发,我们是需要判断长度,而且有长度和没长度是两种引用方法.

    document.all还是document.getElementsByName?

    代码如下:(wuhen注:document.all是ie特有的属性,不是万维网标准) 当页面上的控件同名且多个的时候,你首先做的是什么?判断长度?的确,从程序的严密角度出发,我们是需要判断长度,而且有长度和没长度是两种引用方法....

    精易web浏览器填表模块-易语言

    使用之前请安装:精易Web浏览器支持库(miniblink内核)-正式版发布 1.3.1231 命令表: 更多说明: 本程序内部完全使用Js来进行填表。 更多的使用方法请参考模块注释(模块命令注释已经十分完善!!) 本程序内部已经...

Global site tag (gtag.js) - Google Analytics