一个效率极低的 getElementsByClassName 待改进
function getElementsByClassName(className) {
/*浏览器原生*/
if(document.getElementsByClassName) {
return document.getElementsByClassName(className);
}
/*
查看文档元素的class中包含了所有查询的class没有,全有则添加到数组中。
*/
var all = document.getElementsByTagName("*");
var ele = [];
var cla_str = "|" + className.split(" ").sort().join("|") + "|";
for(var i=0; i<all.length; i++) {
all_str = "|" + all[i].className.split(" ").sort().join("|") + "|";
if(all_str.indexOf(cla_str) != -1) {
//查找到
ele.push(all[i])
}
}
return ele;
}
应该是 split(" ").sort().join("|") 的太多了 导致效率过低
浙公网安备 33010602011771号