function getElementsByClassName(el,name,tag){
tag = tag || "*";
el = el || document;
el = (el==="*" && el.all) ? el.all : el.getElementsByTagName(tag);
name = name.split(" ");
var patterns = [];//存放正则表达式
//遍历类名
for(var i=0;ifunction getElementsByClassName(el,name,tag){
tag = tag || "*";
el = (el==="*" && el.all) ? el.all : el.getElementsByTagName(tag);
name = name.split(" ");
var rs = [];
for(var i=0;i0){
rs.push(el[i]);
break;//防止重复写入
}
}
}
return rs;
}
除ie6 7,浏览器支持querySelectorAll方法进行css选择器的查询,使用原生方法效率肯定比自己写的高.
另外这样for(var j=0;j<el.length;j++)遍历nodeList有风险而且效率很低,至少el.length不应放在条件判断中,更好的办法是把nodeList复制到数组对象中,关于效率方面推荐参考下《高性能javascript》
:x 不知所云