var getclass = function (opts) { //这里的opts就是一个对象参数
var searchClass = opts.searchClass; //存储要查找的类名
var node = opts.node || document; //存储要查找的范围
var tag = opts.tag || '*';//存储一定范围内要查找的标签
var result = [];
//判断浏览器不支持getElementByClassName方法,写在这里
if(document.getElementsByClassName){//如果浏览器支持
var nodes = node.getElementsByClassName(searchClass);
if(tag != "*"){
for(var i = 0;node = nodes[i++];){
if(node.tagName === tag.toUpperCase()){
result.push(node);
}
}
}else{
result = nodes;
}
return result;
} else {//使IE8一下的浏览器支持该属性
var els = node.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp("(^|\\s)"+ searchClass + "(\\s|$)");
var i,j;
for(i=0, j=0; i<elsLen; i++){
if(pattern.test(els[i].className)){
result[j] = els[i];
j++;
}
}
return result;
}
}
解决ie浏览器对getElementByClass()的不兼容问题
最新推荐文章于 2024-06-20 14:42:51 发布