用原生JS实现getElementsByClass

直接用jQuery里Sizzle选择器那一段源码也行,自己写了一个

 

function getByClass(oParent,sClass){
    var aEle = oParent.getElementsByTagName('*');
    var result = [];
    var re = new RegExp('\\b' + sClass + '\\b','i');
    
    for(var i=0;i<aEle.length;i++){
        if(re.test(aEle[i].className)){
            result.push(aEle[i]);
        }
    }
    
    return result;
}

 

\\b是用来去空格的,参数 ' i ' 是用来区分大小写的。

 

用起来挺方便的

posted @ 2016-06-02 22:11  zcynine  阅读(421)  评论(0编辑  收藏  举报