ie不支持getElementsByName的解决办法

在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;   
} 

 

posted @ 2015-05-04 12:44  自律西红柿  阅读(1871)  评论(0编辑  收藏  举报