原生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 ; }
阅读更多
相关文章推荐
- 原生js方法document.getElementsByClassName在ie8及其以下的兼容性问题
- document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
- document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
- ie8及其以下浏览器的document.getElementsByClassName兼容性问题
- document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
- document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
- document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
- 原生js document.getElementsByClassName在IE8及以下浏览器的兼容
- 原生JavaScript解决document.getElementsByClassName兼容问题
- 原生JS实现元素的getElementsByClassName()方法,适用于多个类名
- 兼容ie5-ie11及其他主流浏览器的js document.getElementsByClassName 方法
- 进一步优化—IE8以下浏览器不支持document.getElementsByClassName() 访问节点;怎么解决?---封装自己的类名
- 解决IE8以下不支持getElementsByClassName的方法
- IE8以下浏览器不支持document.getElementsByClassName() 访问节点;怎么解决?---封装自己的类名
- 根据原生JS封装函数,根据传递的选择器查找对应的元素以及解决getElementsByClassName() 兼容问题
- document.getElementsByClassName兼容性问题
- 关于IE中getElementsByClassName不能用的问题解决方法
- 解决 IE 不支持 document.getElementsByClassName() 的方法
- js document.getElementsByClassName的使用介绍与自定义函数
- getElementsByClassName与classList兼容性问题与解决方案