zoukankan      html  css  js  c++  java
  • 原生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;i<arr.length;i++){
    if (arr[i]==classStr){
    return true ;
    }
    }
    return false ;

  • 相关阅读:
    MySQL系列(三) MySQL的约束
    mysql 下载 国内 镜像
    ckeditor
    比较时间
    远程获取文件
    多线程一例
    requests
    json传递对象字典
    pymysql和mysqldb的区别
    sql
  • 原文地址:https://www.cnblogs.com/duidui/p/4796239.html
Copyright © 2011-2022 走看看