getElementsByClassNameに準拠したパッケージ

我々はすべて知っているように、JS DOMは非常に便利なのgetElementsByClassNameは、そこに着くが、その後、いくつかのブラウザとの互換性のために(あなたが知っています)。唯一の下パッケージ。次のように解決策はあります

<!DOCTYPE HTML> 
<HTML LANG = " EN " > 
<HEAD> 
    <メタ文字コード= " UTF-8 " > 
    <META NAME = " ビューポート"コンテンツ= " 幅=装置幅、初期の規模= 1.0 " > 
    <メタHTTP-当量= " X-UA-互換性のある"コンテンツ= " IE =エッジ" > 
    <タイトル>のgetElementsByClassName封装</ TITLE> 
</ HEAD> 

<BODY> 
    <divのクラス = "アイテム" > ITEM1 </ div> 
    <divのクラス= " 項目" > ITEM2 </ DIV> 
    <DIV クラス = " 項目" > ITEM3 </ DIV> 
    <DIV クラス = " 項目" > ITEM4 </ DIV> 
    <DIV クラス = " 項目" > item5 </ div> 
    < DIV クラス = " 項目" > item6 </ div> 
</ body> 
<スクリプト> 
    関数のgetElementsByClassName(名前、attrbuteName){ 
        VARの ARR = [];
        もし(document.getElementsByClassName){
             //このプロパティをサポートする場合は、直接アクセスがする 
            ARR = document.getElementsByClassName(名)
        } {
             // そうでない場合は
            VARのattr = attrbuteName attrbuteName :? *  ; /// あなたがの名前とラベルを指定した場合
            のvar tagNameArr = document.getElementsByTagName( ATTR);
             のためのVARのインデックス= 0、インデックス<tagNameArr.length;インデックス++ ){
                 VAR classNameArr tagNameArr = [インデックス] .className.split("  " のためのVARの J =0 ; J <classNameArr.length。J ++ ){
                     場合(classNameArr [J] === 名){ 
                        arr.push(tagNameArr [インデックス])
                    } 

                } 
            } 
        } 
        戻りARR。
    } 
    のgetElementsByClassName(" アイテム"" DIV ")[ 0 ] .style.color = " " 
</ SCRIPT> 

</ HTML>

 

おすすめ

転載: www.cnblogs.com/huzhuhua/p/11106410.html