IE的新版本(6.0 and 7.0以前的版本没有测试)好像有bug。当你使用document.getElementsByName()这个方法的时候好像是无效的,并不能得到一个应有的数组。幸运的是document.getElementsByTagName(tag)是有效的
所以如果需要用到这个方法的时候只有自己来写一个:
function getMyElementsByName(tag , name) {
//tag : 标记名 ; name : name名
var elem = document.getElementsByTagName(tag);
var arr = new Array();
for(i = 0,iarr = 0; i < elem.length; i++) {
att = elem[i].getAttribute("name");
if(att == name) {
arr[iarr] = elem[i];
iarr++;
}
}
return arr;
}
分享到:
相关推荐
在网页开发中,浏览器兼容性问题常常困扰开发者。本文将探讨`document.getElementsByName`和`document...为了解决兼容性问题,可以使用条件注释、特性检测或者库如jQuery来抽象出统一的API,以减少这些差异带来的影响。
document.getElementsByName(‘someName’) 返回一个节点列表(数组) 注意:在IE下有些节点是没有name 属性的,就是用document.getElementsByName获取不到的。只有下面的tag有name属性: A, APPLET, attribute, ...
尽管这种方法能够在IE浏览器中解决getElementsByName无法正常工作的问题,但它在性能上可能不如原生的`getElementsByName`高效,因为它需要手动遍历整个DOM树。此外,它还需要额外的代码实现,这可能会导致代码可...
- `document.getElementsByName`: 获取具有相同NAME属性的所有元素。 - `document.getElementsByTagName`: 获取具有相同标签名的所有元素。 - `querySelector`和`querySelectorAll`: 提供更强大的选择器功能,类似于...
### JavaScript Document 对象详解 #### 一、Document 对象简介 ...以上就是关于JavaScript中`Document`对象的一些基本属性和方法的详细介绍,通过这些知识,可以有效地操作网页元素,实现动态效果。
那么,如何解决 Firefox 不支持 document.all 的问题呢?一种简单的方法是使用 document.getElementsByTagName("*") 替代 document.all。getElementsByTagName() 方法可以根据标签名获取所有元素的集合,"*"号表示...
因此,在编写兼容代码时应统一使用方括号,例如`document.forms['formName']`代替`document.forms('formName')`,以及`document.getElementsByName('elementName')[1]`代替`document.getElementsByName('elementName...
例如,将`document.forms("formName")`改为`document.forms["formName"]`,`document.getElementsByName("inputName")(1)`改为`document.getElementsByName("inputName")[1]`。 3. **window.event** - IE浏览器...
- 解决方法:将`document.forms("formName")`改为`document.forms["formName"]`,将`document.getElementsByName("inputName")(1)`改为`document.getElementsByName("inputName")[1]`。 3. **window.event** - ...
- 如需修改,将`document.forms("formName")`改为`document.forms["formName"]`,`document.getElementsByName("inputName")(1)`改为`document.getElementsByName("inputName")[1]`。 3. **window.event问题** - ...
例如,`document.forms("formName")`应改为`document.forms["formName"]`,以及`document.getElementsByName("inputName")(1)`应改为`document.getElementsByName("inputName")[1]`。这将确保在MF中也能正确地访问...
关于 `frame` 问题 **现有问题:** 在IE中可以直接使用 `window.frameName` 访问frame,但在FF中这种方式不起作用。 **解决方法:** 为了在FF和IE中都能够正确访问frame,应该按照如下方式设置frame标签: ```html...
因此,`document.getElementsByName("inputName")(1)`在FF中应该改为`document.getElementsByName("inputName")[1]`。 3. **window.event问题**:FF不支持全局的`window.event`,它只在事件发生时局部可用。为了...
- 同样,获取特定索引的元素时,如 `document.getelementsbyname("inputname")(1)`,应改为 `document.getelementsbyname("inputname")[1]`。 3. **window.event 使用** - IE 中,可以在任何地方使用 `window....
在Firefox中,推荐使用数组下标的方式进行访问,如`document.getElementsByName("inputName")[1]`。 ### 3. `window.event` 在事件处理方面,IE和Firefox有着明显的区别。IE中,可以通过`window.event`直接获取到...
为了解决这个问题,应当改用`document.formName.elements["elementName"]`来获取表单元素,这种方法在Firefox中是支持的。 其次,集合类对象的使用也是一个兼容性问题。例如,使用圆括号`()`来访问集合在IE中可行,...
又如将`document.getElementsByName("inputName")(1)`改为`document.getElementsByName("inputName")[1]`。方括号方式更符合标准JavaScript的语法,因此可以在更多浏览器中正确运行。 #### 3. `window.event`问题 ...
为了解决这个问题,推荐使用`document.formName.elements["elementName"]`这一更为通用且符合W3C标准的方法来访问表单元素。 #### 2. 集合类对象问题 在IE中,可以使用括号`()`或方括号`[]`来获取集合类对象,例如...
**现有问题**:在使用集合类对象时,通常的做法是在括号中传入索引值,如`document.forms("formName")`或`document.getElementsByName("inputName")(1)`。这种方式在IE中可以正常工作,但在Firefox中则会引发错误。 ...
本文将详细探讨在编写JavaScript时遇到的一些常见兼容性问题,并提供相应的解决方案。 #### 表单元素获取 1. **`document.form.item`** 方法: - IE中可以使用 `document.formName.item("itemName")` 来获取表单中...