zoukankan      html  css  js  c++  java
  • 原生js方法document.getElementsByClassName在ie8及其以下的兼容性问题

    document.getElementsByClassName在ie8及其以下浏览器的兼容性问题,在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;i<arr.length;i++){ 
    if (arr[i]==classStr){ 
    return true ; 


    return false ; 
     
     
  • 相关阅读:
    3. 算法分析
    4. union-find算法
    1.基础编程模型和数据抽象
    2. 背包,队列和栈
    .NET Core 单元测试
    ASP.NET Core Web API
    ASP.NET Core MVC 之区域(Area)
    ASP.NET Core MVC 之依赖注入 Controller
    ASP.NET Core MVC 之依赖注入 View
    微服务架构学习与思考(04):微服务技术体系
  • 原文地址:https://www.cnblogs.com/999c/p/5170712.html
Copyright © 2011-2022 走看看