原生JS通过ClassName(getElementsByClassName)兼容IE8写法

 1 /*
 2  by dg
 3  Time 2017/10/23
 4  * */
 5 /*通过class定位对象 v1.0.0
 6  * 最佳兼容类型 IE8+,IE6\IE7未测试,理论上可行
 7  * 
 8  classname:需要获取的className
 9  fun:在某个对象下查找(非必填)
10  
11  调用示例:
12 getElementsByClassName("classname1",document.getElementById("id"))
13 getElementsByClassName("classname2")
14  ***/
15 function getElementsByClassName(classname,fun){
16     if(isIE()!= "0.0"){
17         return bclassname(classname,fun);
18     }else{
19         return aclassname(classname,fun);
20     }
21 }
22 function aclassname(clsName, fun) {
23     var objParent = fun || document;
24     return objParent.getElementsByClassName(clsName);
25 }
26 function bclassname(clsName, fun) {
27     var objParent = fun || document;
28     var elements = objParent.getElementsByTagName("*");
29     var ele = [];
30     for(var i = 0; i < elements.length; i++) {
31         if(elements[i].className == clsName) {
32             ele.push(elements[i]);
33         }
34     }
35     return ele;
36 }
37 function isIE() {
38     var browser = navigator.appName
39     var b_version = navigator.appVersion
40     var version = b_version.split(";");
41     //var trim_Version = version[1].replace(/[ ]/g, "");
    

var trim_Version;
try{
trim_Version = version[1].replace(/[ ]/g, "");
}catch(e){
/*兼容火狐*/
trim_Version = navigator.userAgent.split(";")[1].replace(/[ ]/g, "");
}

42     if(browser == "Microsoft Internet Explorer" && trim_Version == "MSIE6.0") {
43         return "6.0";
44     } else if(browser == "Microsoft Internet Explorer" && trim_Version == "MSIE7.0") {
45         return "7.0";
46     } else if(browser == "Microsoft Internet Explorer" && trim_Version == "MSIE8.0") {
47         return "8.0";
48     }
49     if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.split(";")[1].replace(/[ ]/g, "") == "MSIE6.0") {
50         return "6.0";
51     } else if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.split(";")[1].replace(/[ ]/g, "") == "MSIE7.0") {
52         return "7.0";
53     } else if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.split(";")[1].replace(/[ ]/g, "") == "MSIE8.0") {
54         return "8.0";
55     }
56     if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.match(/7./i) == "7.") {
57         return "7.0";
58     } else if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.match(/8./i) == "8.") {
59         return "8.0";
60     }
61     return "0.0";
62 }

 

转载于:https://www.cnblogs.com/dangao/p/7716533.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值