您的位置:首页 > Web前端 > JavaScript

原生js方法document.getElementsByClassName在ie8及其以下的兼容性问题

2018-08-05 16:42 441 查看
[code]var divs = getClassNames('tabs_div' , 'div');
//找到类名为tabs_div的div元素
function getClassNames(classStr,tagName){
//判断document对象中是否包含getElementsByClassName方法
if (document.getElementsByClassName) {
//若有直接使用该方法查找类名
return document.getElementsByClassName(classStr)
}else { //若没有
//找到与要查找的元素的所有同名元素
var nodes = document.getElementsByTagName(tagName),ret = [];
//遍历所有同名元素
for(i = 0; i < nodes.length; i++) {
//判断当前元素是否包含classStr类
if(hasClass(nodes[i],classStr))
//如果有就放到ret数组中
ret.push(nodes[i]);
}
return ret;
}
}
//定义hasClass函数
function hasClass(tagStr,classStr){
var arr=tagStr.className.split(/\s+/ ); //这个正则表达式是因为class可以有多个,判断是否包含
for (var i=0;i<arr.length;i++){
if (arr[i]==classStr)
return true ;
}
return false ;
}

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐