首页 > 代码库 > document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
原生js方法“document.getElementsByClassName”在ie8及其以下浏览器中,不能使用。
修改:加入兼容性判断,在需要用到该方法的位置修改为getClassNames方法。
代码如下:
原来方法: document.getElementsByClassName(‘tabs_div‘);
这里的调用方法为:getClassNames(‘tabs_div‘ , ‘div‘);
[javascript] view plaincopy
- 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及其以下浏览器的兼容性问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。