//首先判断是否支持方法getElementsByClassName
if(!document.getElementsByClassName){
//若不支持则创建该方法函数
document.getElementsByClassName=function(cls){
//创建一个ret数组,用来存放想收集的某个类名的元素
var ret=[];
//获取页面的所有元素存放到els数组中
var els=document.getElementsByTagName("*");
//遍历所有存放在els中页面的所有元素
for(var i=0;i<els.length;i++){
//判断元素的类名是否等于参数cls
//因为同个class中可以存在多个类名,所以要判断以下多种可能性:class="a cls",class="cls b",class="a cls b"
if(els[i].className===cls
||els[i].className.indexOf(cls)>=0
||els[i].className.indexOf(cls+" ")
||els[i].className.indexOf(" "+cls+" ")
||els[i].className.indexOf(" "+cls+)){
//若相等,把元素放入ret数组中
ret.push(els[i]);
}
}
//最后返回存放了对应类名的ret数组
return ret;
}
}
解决IE浏览器不兼容getElementsByClassName的方法
最新推荐文章于 2021-11-22 09:22:46 发布