zoukankan      html  css  js  c++  java
  • document.getElementsByClassName在ie8及其以下浏览器的兼容性问题

     
    原生js方法“document.getElementsByClassName”在ie8及其以下浏览器中,不能使用。
    修改:加入兼容性判断,在需要用到该方法的位置修改为getClassNames方法。
     
    代码如下:
    原来方法: document.getElementsByClassName('tabs_div');
    这里的调用方法为:getClassNames('tabs_div' , 'div');
    [javascript] view plaincopy
     
    1. var  divs = getClassNames('tabs_div' , 'div');  
    2. function getClassNames(classStr,tagName){  
    3.       if (document.getElementsByClassName) {  
    4.             return document.getElementsByClassName(classStr)  
    5.       }else {  
    6.             var nodes = document.getElementsByTagName(tagName),ret = [];           
    7.             for(i = 0; i < nodes.length; i++) {  
    8.          if(hasClass(nodes[i],classStr)){  
    9.                 ret.push(nodes[i])  
    10.          }  
    11.       }  
    12.       return ret;  
    13.        }  
    14. }  
    15. function hasClass(tagStr,classStr){  
    16.      var arr=tagStr.className.split(/s+/ );  //这个正则表达式是因为class可以有多个,判断是否包含  
    17.      for (var i=0;i<arr.length;i++){  
    18.             if (arr[i]==classStr){  
    19.                   return true ;  
    20.             }  
    21.      }  
    22.      return false ;  
    23. }  
  • 相关阅读:
    11.22
    python之字典(dict)
    Version Control
    java_实现一个类只能声明一个对象
    javase-位运算符
    javase-整数变量的交换
    URI和URL的关系与区别
    http解析
    函数式语言
    MyIASM和Innodb引擎详解
  • 原文地址:https://www.cnblogs.com/dingyuanxin/p/4180011.html
Copyright © 2011-2022 走看看