这里不能用正则把className分割一下,然后用分割后的数组里面跟传进来的className进行比较么,我觉得更合理些
妈咪妈咪哄
2014-08-04
1 回答
我没用正则分割,而是把所有的类名按空格分割成数组,再遍历数组中的每项判断是否等于需要的类名。代码如下:
function className(name){
//如果浏览器支持getElementsByClassName则会返回所有类名叫name的,如果不支持才会遍历每个类名
if(document.getElementsByClassName){
return document.getElementsByClassName(name);
}
var doms=document.getElementsByTagName("*");
var arr=[];
for(var i=0;i<doms.length;i++){
var txt=doms[i].className.split(" ");
for(j=0;j<txt.length;j++){
if(txt[j]==name){
arr.push(doms[i]);
}
}
}
return arr;
}
举报
0/150
提交
取消