通过getElementsByClassName获取元素集合的兼容性问题解决方案
方案一:使用方案一后,通过document.getElementsByClassName()函数来获取类名对应的元素集合
if(!document.getElementsByClassName){ //能进来一定是低版本ie(ie8及以下)
document.getElementsByClassName=function(eleclass){
var Ele=document.getElementsByTagName("*"), //通配符,获得所有的标签
reg=new RegExp("\\b"+eleclass+"\\b"),
arr=[];
for(var i=0;i<Ele.length;i++){
if(reg.test(Ele[i].className)){ //为true表示当前元素符合条件,放进数组
arr.push(Ele[i]);
}
}
return arr;
};
}
方案二:使用方案二后,通过getByClass(oParent,sClass)函数来获取类名对应的元素集合
function getByClass(oParent,sClass) { //sClass的父元素 类名
var aEle=oParent.getElementsByTagName('*'),
aResult=[],
reg=new RegExp("\\b"+sClass+"\\b");
for(var i=0;i<aEle.length;i++)
{
if(reg.test(aEle[i].className))
{
aResult.push(aEle[i]); //为true表示当前元素符合条件,放进数组
}
}
return aResult;
}