封装getElementsByClassName

在使用原生JavaScript时,获取类选择符时,即使用getElementByClassName,它在Firefox和IE下是不能兼容。

Firefox下是可以用它获取的到元素而IE不行,一般框架都会实现该方法,达到在IE和Firefox下兼容的问题。

 

 

    function getByClassName(className){    
            if(document.getElementByClassName){    
                return document.getElementByClassName(className) //FF下因为有此方法,所以可以直接获取到;    
            }    
            var nodes=document.getElementsByTagName("*");//获取页面里所有元素,因为他会匹配全页面元素,所以性能上有缺陷,但是可以约束他的搜索范围;    
            var arr=[];//用来保存符合的className;    
            for(var i=0;i<nodes.length;i++){    
                if(hasClass(nodes[i],className)) arr.push(nodes[i]);    
            }    
            return arr;    
        }  

 

posted @ 2017-04-10 22:31  Booo  阅读(165)  评论(0编辑  收藏  举报