ie8以下不兼容document.getElementsByName解決方法


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM