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. }  
  • 相关阅读:
    浏览器环境下JavaScript脚本加载与执行探析之代码执行顺序
    DOM扩展:DOM API的进一步增强[总结篇-下]
    DOM扩展:DOM API的进一步增强[总结篇-上]
    Network 第九篇
    Network 第八篇 – 动态路由-OSPF
    Network 第七篇
    Network 第六篇
    Network 第五篇
    Network 第四篇
    Network 第三篇
  • 原文地址:https://www.cnblogs.com/dingyuanxin/p/4180011.html
Copyright © 2011-2022 走看看