兼容IE getElementsByClassName取標簽


  一個朋友在某公司為某國企教育機構做網絡課程。她的任務是做一些前端頁面的工作,但做網絡課程的要求是table布局,且得考慮ie6、7、8,不允許用jquery等框架。要知道ie是不支持className取標簽的啊,如果要通過className獲取標簽怎么辦啊。你可以通過這個方法:

function getElementsByClassName(className,root,tagName) {    //root:父節點,tagName:該節點的標簽名。 這兩個參數均可有可無
    if(root){
        root=typeof root=="string" ? document.getElementById(root) : root;   
    }else{
        root=document.body;
    }
    tagName=tagName||"*";                                    
    if (document.getElementsByClassName) {                    //如果瀏覽器支持getElementsByClassName,就直接的用
        return root.getElementsByClassName(className);
    }else { 
        var tag= root.getElementsByTagName(tagName);    //獲取指定元素
        var tagAll = [];                                    //用於存儲符合條件的元素
        for (var i = 0; i < tag.length; i++) {                //遍歷獲得的元素
            for(var j=0,n=tag[i].className.split(' ');j<n.length;j++){    //遍歷此元素中所有class的值,如果包含指定的類名,就賦值給tagnameAll
                if(n[j]==className){
                    tagAll.push(tag[i]);
                    break;
                }
            }
        }
        return tagAll;
    }
}

 

  記得我大學的網站還是table滿天飛呢。互聯網貧瘠的地方恰恰是國企、ZF部門,一直很納悶幾大國有銀行的網銀為什么只有ie內核的瀏覽器才能登陸、支付。或許他們有他們的原因,我現在的知識面太小了,需要學習的東西太多太多。

 

 

 


免責聲明!

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



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