今天做个网页,突然发现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`方法在Internet Explorer(IE)和Firefox等遵循W3C标准的浏览器之间保持一致。 `getElementsByName`是HTML DOM(Document Object Model)中的一个方法,用于根据元素的`...
在处理innerHTML和getElementsByName在IE中的bug时,需要开发者对这些方法的特性有深入的了解,并且需要在不同浏览器之间进行测试,以确保兼容性。在旧版IE浏览器中,可能需要采取一些特定的补救措施,如上文所述的...
特别是在IE5至IE9版本中,getElementsByName方法表现出了与其他浏览器不同的行为。在这些旧版本的IE浏览器中,getElementsByName不仅会返回所有name属性匹配的元素,还会返回id属性匹配指定值的单个元素。这可能是一...
在网页开发过程中,HTML元素的渲染和交互在不同的浏览器间可能存在差异,尤其是Internet Explorer (IE)和Firefox (FF)之间。这些差异主要源于浏览器对HTML、CSS和JavaScript标准的实现不同。以下是一些常见的问题及...
4. **性能考虑**:通常情况下,`document.getElementById()`的性能优于`document.getElementsByName()`,因为前者直接查找单个元素,而后者需要遍历整个文档来查找所有匹配的元素。 #### 四、实例对比 **使用`...
在网页开发过程中,尤其是在处理浏览器兼容性问题时,Internet Explorer(IE)的特定行为常常会给开发者带来困扰。本文将深入探讨IE中`getElementsByName()`方法对某些元素无效的问题及其解决方案。 `...
标题与描述均提到了“火狐和IE支持javaScript脚本的一些区别”,这明确指出了文章将探讨在Mozilla Firefox和Internet Explorer(IE)浏览器中JavaScript脚本的不同支持情况。以下是对给定文件中提及的各个知识点的...
- **现有问题**:代码中存在大量使用`document.formName.item("itemName")`的语句,这种方式在Firefox(火狐)浏览器下无法正常工作。 - **解决方法**:将这些语句替换为`document.formName.elements["elementName...
16. **document.getElementById和document.getElementsByName**:在处理多个同名元素时,`getElementsByName`在IE中会返回一个数组,而在其他浏览器中返回一个NodeList。 为了确保代码在各种浏览器中都能正常工作,...
^) 但是对于document.getElementsByName 与document.getElementById 这个两个方法,IE中是并没有严格区分 ID 与 Name 的,比如: [removed] function useGetElementsByNameWithId(id) { var eles = d
JavaScript是一种广泛应用于网页开发的脚本语言,但在不同的浏览器中,其执行方式可能存在差异,特别是老版本的Internet Explorer(IE)和Firefox。由于历史原因,IE对某些特性有着独特的实现,而Firefox则遵循更...
然而,这种写法仅能在Internet Explorer (IE) 浏览器中正常工作,在Firefox等其他现代浏览器中则会报错。 **解决方法**: 1. **替换语法**:将`document.formName.item("itemName")`改为`document.formName....
2. 集合类对象问题:FF要求使用`[]`作为下标运算符,例如`document.getElementsByName("inputName")[1]`,而IE则可以接受`()`。因此,建议统一使用`[]`。 3. `window.event`问题:在IE中,可以全局访问`window....
在编写JavaScript代码时,应该始终考虑浏览器兼容性,确保代码能在多种浏览器环境下正常运行。使用如jQuery这样的库可以进一步简化这个过程,因为它们已经处理了很多兼容性问题。同时,持续关注最新的Web标准和...
- **IE**: 可以使用 `document.getElementsByName("inputName")(1)` 来获取表单元素。 - **FF**: 需要使用数组下标形式,即 `document.getElementsByName("inputName")[1]`。 #### 二、事件处理机制差异 1. **`...
不同的浏览器,如Internet Explorer(IE)、Firefox、Chrome、Safari和Opera,对某些特性、API或语法的支持程度各不相同,这使得开发者需要采取特定策略来确保代码在各种环境下都能正常运行。以下是一些针对WEB...