码迷,mamicode.com
首页 > 其他好文 > 详细

兼容低版本ie的getByClass方法

时间:2015-09-07 22:47:31      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

ecma5为我们提供了实用的getElementsByClassName()方法;可惜这个方法在低版本ie下直接挂掉了。

在不依赖jq的前提下自己实现了一下方法,

function getByClass(oParent,sClass){
    
    if(oParent.getElementsByClassName){
                //本除返回的是dom集合,类数组而非数组
        return oParent.getElementsByClassName(sClass);
    }
    
    var result = [];
    var re = new RegExp("\\b"+sClass+"\\b");
    
    var aEle = oParent.getElementsByTagName("*");
    
    for(var i = 0; i < aEle.length; i++){
        if( re.test(aEle[i].className) ){
            result.push(aEle[i]);
        }
    }
        //本除返回数组
    return result;
}
    

需要注意的高级浏览器和低级浏览器返回的对象是不同的。

 

兼容低版本ie的getByClass方法

标签:

原文地址:http://www.cnblogs.com/vidy/p/4790111.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!