document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
2013-09-12 22:36
519 查看
原生js方法“document.getElementsByClassName”在ie8及其以下浏览器中,不能使用。
修改:加入兼容性判断,在需要用到该方法的位置修改为getClassNames方法。
代码如下:
原来方法: document.getElementsByClassName('tabs_div');
这里的调用方法为:getClassNames('tabs_div' , 'div');
修改:加入兼容性判断,在需要用到该方法的位置修改为getClassNames方法。
代码如下:
原来方法: document.getElementsByClassName('tabs_div');
这里的调用方法为:getClassNames('tabs_div' , 'div');
var divs = getClassNames('tabs_div' , 'div'); function getClassNames(classStr,tagName){ if (document.getElementsByClassName) { return document.getElementsByClassName(classStr) }else { var nodes = document.getElementsByTagName(tagName),ret = []; for(i = 0; i < nodes.length; i++) { if(hasClass(nodes[i],classStr)){ ret.push(nodes[i]) } } return ret; } } 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 ; }
相关文章推荐
- document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
- document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
- ie8及其以下浏览器的document.getElementsByClassName兼容性问题
- document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
- document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
- 原生js方法document.getElementsByClassName在ie8及其以下的兼容性问题
- IE8以下浏览器不支持document.getElementsByClassName() 访问节点;怎么解决?---封装自己的类名
- 进一步优化—IE8以下浏览器不支持document.getElementsByClassName() 访问节点;怎么解决?---封装自己的类名
- 原生js document.getElementsByClassName在IE8及以下浏览器的兼容
- document.getElementsByClassName兼容性问题
- getElementsByClassName与classList兼容性问题与解决方案
- 兼容ie5-ie11及其他主流浏览器的js document.getElementsByClassName 方法
- 解决getElementsByClassName兼容性问题
- ie8兼容问题(一) getElementsByClassName
- document.getElementsByClassName的封装,兼容ie8
- 解决IE8以下不支持getElementsByClassName的方法
- 解决ie8及一下不支持document.getElementsByClassName
- 解决getElementsByClassName在IE8之前无法使用的问题
- document.getElementsByClassName兼容问题
- 针对ie8等低版本浏览器document.getElementsByName方法不生效解决方法