IE 中使用 document.getElementsByName 与 Firefox 中的不同。
对于 A、APPLET、BUTTON、FORM、FRAME、IFRAME、IMG、INPUT、OBJECT、MAP、META、PARAM、TEXTAREA、SELECT 元素
IE 的 document.getElementsByName(e) 会获取 name 属性值为 e 的元素,同时也会获取 id 属性值为 e 的元素。
对于其他元素
IE 的 document.getElementsByName(e) 只会获取 id 属性值为 e 的元素。
替代方法
function $tagByAttribute(tag,attr,value){
return Moogens.Utilities.arrayMap($TagN(tag||'*'),function(el,i){
return el.getAttribute(attr) == value ? el : null;
});
}
在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中是并没有严格区分 ID 与 Name 的,比如: [removed] function useGetElementsByNameWithId(id) { var eles = d
代码如下:(wuhen注:document.all是ie特有的属性,不是万维网标准) 当页面上的控件同名且多个的时候,你首先做的是什么?判断长度?的确,从程序的严密角度出发,我们是需要判断长度,而且有长度和没长度是两种引用方法....
注意:在IE下有些节点是没有name 属性的,就是用document.getElementsByName获取不到的。只有下面的tag有name属性: A, APPLET, attribute, BUTTON, EMBED, FORM, IMG, INPUT type=button, INPUT type=checkbox, ...
然而,需要注意的是,`document.all`在标准浏览器中可能不受支持,因此在实际项目中,更推荐使用`document.getElementById`、`document.getElementsByName`等标准方法来访问DOM元素,以确保代码的兼容性和可维护性。
getElementsByName方法是Document对象的一个方法,它返回文档中所有具有指定name属性的元素组成的HTMLCollection集合。它通常用于获取表单元素,如input或button,或者用于获取具有特定name属性的其他元素。 #### ...
总结来说,`document.all`是一个非标准的方法,尽管在旧版本的IE中常见,但不应在新代码中使用。`getElementById`、`getElementsByName`和`getElementsByTagName`则是标准的DOM操作方法,分别用于根据ID、name属性和...
在处理跨浏览器兼容性时,开发者应尽量避免依赖`document.all`,并确保使用`getElementById`时,ID是唯一的,以避免IE中的特殊情况。对于其他选择元素的方法,根据具体需求选择合适的方法,如需要选取一组元素,`...
在旧版本的IE浏览器中使用,但在现代浏览器中已被`window.getSelection()`取代。 除了上述内容,`Document`对象还有其他很多功能,例如`document.getElementsByTagName()`, `document.getElementsByName()`, `...
如果不在表单内,`inputName` 可能能直接引用,否则就要借助 `document.getElementById` 或 `document.getElementsByName`。 此外,对于具有ID的元素,如 `<div id="aa">`,我们通常使用 `document.getElementById...
然而,`document.all`是一个不符合这些标准的特性,它是微软在Internet Explorer(IE)中引入的一个私有DOM扩展。DOM,即Document Object Model,是一个标准化的模型,用于表示HTML或XML文档的结构,并提供了一种...
但请注意,这种方法在非IE浏览器中不适用,应该使用`document.getElementsByName("name")[index]`。 3. **推荐的替代方法**:为了避免兼容性和错误问题,建议使用标准的DOM方法。例如,使用`document....
- `document.selection`: 在旧版的IE浏览器中,这个对象用于处理用户选择的文本。在现代浏览器中,应使用`window.getSelection()`来获取选区信息。 以上是`Document`对象及其相关属性和方法的基本概述。理解和熟练...
- IE支持`document.all.month.value`,但Firefox要求使用`document.getElementsByName("month")[0].value`或`document.getElementById("month").value`。推荐使用`getElementById`以保持兼容性。 6. HTML对象ID...
- 在IE中,可以通过`document.formName.item("itemName")`来访问表单元素,但在Firefox中不支持。推荐使用标准的方法`document.formName.elements["elementName"]`。 2. **集合类对象问题** - 集合类对象如forms...
在IE中,可以使用`document.forms("formName")`或`document.forms["formName"]`来访问表单。而`document.getElementsByName("inputName")(1)`则返回名为`inputName`的第二个元素。在Firefox中,推荐使用数组下标的...
- **document.getElementsByName(Name)**:根据给定的name属性值查找页面中的一个或多个元素。 - **document.body.appendChild(oTag)**:将一个HTML元素追加到`<body>`元素的子节点列表中。 #### Body元素属性 - *...
8. IE浏览器中`getElementsByName`和`document.all[name]`不能用来取得div元素,这一点在编写兼容性代码时需要特别注意。 9. 对于table标签的操作,IE浏览器不允许对其和tr元素的innerHTML属性赋值,且使用...