ie不支持getElementsByName的解决办法

时间:2024-06-17 16:04:08

在chrome下getElementsByName运行正常,可在IETester7~11下都不支持 

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

一、把需要用getElementsByName的name都加上id,且id和name相同。

二、用一个函数来适应浏览器,代码如下:

getElementsByName:function (name) {
var returns = document.getElementsByName(name);
if(returns.length > 0) return returns;
returns = new Array();
var e = document.getElementsByTagName('td');
for(i = 0; i < e.length; i++) {
if(e[i].getAttribute("name") == name) {
returns[returns.length] = e[i];
}
}
return returns;
}