标签:
在IE8以认为只有文本标签才有name属性的,一些元素标签用document.getElementsByName获取不到DOM,如DIV,span等,这里做一下兼容。
HTML:
<div name="pox">我是pox</div> <div name="pox">我是pox</div> <div name="pox">我是pox</div> <div name="pox">我是pox</div> <div name="pox">我是pox</div>
兼容JS:
function getByName(Name){ var i=document.getElementsByName(Name) if(i>0){ return i; }else{ var aEle=document.getElementsByTagName(‘*‘); var arr=[]; for(var i=0;i<aEle.length;i++){ if(aEle[i].getAttribute("name")==Name){ arr.push(aEle[i]) } } return arr; } }
测试JS:
<script type="text/javascript"> window.onload=function(){ function getByName(Name){ var i=document.getElementsByName(Name) if(i>0){ return i; }else{ var aEle=document.getElementsByTagName(‘*‘); var arr=[]; for(var i=0;i<aEle.length;i++){ if(aEle[i].getAttribute("name")==Name){ arr.push(aEle[i]) } } return arr; } } var Box=getByName(‘pox‘); alert(Box.length); } </script>
ie8以下不兼容document.getElementsByName解决方法
标签:
原文地址:http://www.cnblogs.com/xuxingeren/p/5869402.html