当前位置:首页> 正文
原生js方法document.getElementsByClassName在ie8及其以下的兼容性问题
原生js方法document.getElementsByClassName在ie8及其以下浏览器中,不能使用。
修改:加入兼容性判断,在需要用到该方法的位置修改为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;iarr.length;i++){
if (arr[i]==classStr){
return true ;
}
}
return false ;
}
修改:加入兼容性判断,在需要用到该方法的位置修改为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;iarr.length;i++){
if (arr[i]==classStr){
return true ;
}
}
return false ;
}
展开全文阅读
相关内容
-
怎么用ie浏览器打开网页(IE浏览器常用快捷键)
怎么用ie浏览器打开网页(IE浏览器常用快捷键),标签,快捷键,标...
-
教你通过命令行完美完全的卸载IE浏览器(IE9、IE
教你通过命令行完美完全的卸载IE浏览器(IE9、IE10、IE11),卸...
-
IE不能上网浏览的常见原因和解决方法
IE不能上网浏览的常见原因和解决方法,解决方法,命令,文件,原...
-
把Windows 系统中的IE8浏览器降为IE6的方法
把Windows 系统中的IE8浏览器降为IE6的方法,方法,版本号,版本...
-
如何彻底优化IE浏览器 六种设置方法轻松优化你
如何彻底优化IE浏览器 六种设置方法轻松优化你的IE浏览器,方...
-
WIN7操作系统下做好IE6,IE7的兼容性测试
WIN7操作系统下做好IE6,IE7的兼容性测试,兼容性测试,版本,安...
-
IE浏览器打不开部分网页解决方法(适用于XP/vist
IE浏览器打不开部分网页解决方法(适用于XP/vista),控制,重启,...
-
在IE6/7/8下识别html5标签(让老式浏览器识别htm
在IE6/7/8下识别html5标签(让老式浏览器识别html5),识别,浏览...
-
在Surface中IE浏览器触摸版和桌面版的设置使用
在Surface中IE浏览器触摸版和桌面版的设置使用技巧,设置,桌面...
-
微软从明年1月12日起停止对IE6-IE8浏览器提供技
微软从明年1月12日起停止对IE6-IE8浏览器提供技术支持,技术支...
-
禁用IE10的密码明文显示和快速清除功能的方法
禁用IE10的密码明文显示和快速清除功能的方法,快速,清除,密码...
-
windows8开始屏幕上IE10的磁铁图标不见了如何恢
windows8开始屏幕上IE10的磁铁图标不见了如何恢复IE10默认浏...
-
帝国CMS后台fckeditor编辑器兼容IE10的方法汇总
帝国CMS后台fckeditor编辑器兼容IE10的方法汇总,兼容,方法,编...
-
css FF与IE兼容性总结
css FF与IE兼容性总结,问题大全,方法,常见,兼容性,设置,撑开,...
-
原生js编写设为首页兼容ie、火狐和谷歌
原生js编写设为首页兼容ie、火狐和谷歌,火狐,谷歌,首页,兼容,...