zoukankan      html  css  js  c++  java
  • 关于IE8及其以下的IE版本不支持getElementsByClassName

    之前做一下项目的时候知道IE8以及其以下的版本不支持getElementsByClassName,于是乎自己写了一个函数重新定义getElementsByClassName,函数代码如下:

    function getClassName(classname){
      if(document.getElementsByClassName){
        return document.getElementsByClassName(classname);
      }else{
        var aa = document.getElementsByTagName("*"),
          results = new Array();
        for(var i=0; i<aa.length; i++){
          if(aa[i].className == classname){
            results[results.length] = aa[i];
          }
        }
        return results;
      }
    }

    之前遇到的一种情况是这么写的:

    测试的时候,在IE8下还是没有引用到,而是报错:

    程序如下:

    不知道报错原因是什么?这个问题需要好好研究研究。。

    今天重新思考了一下,觉得是因为getElementsByClassName是已经定义了的方法,所以重新改动浏览器还是会直接访问原来的方法,不会调用我定义的方法,所以我将函数名字改了,并且因为IE7不支持indexof,也改了if的判断条件,代码如下:

    这样在IE8及其一下的版本都可以运行成功啦啦啦~~~

  • 相关阅读:
    不同的ospf进程发布互联网段可以互通
    大数分解
    主席树(非权值)
    块状数组
    Codeforces Round #744 (Div. 3) G. Minimal Coverage
    记录一种从天而降的掌法(动态维护中位数的方法)
    快速统计二进制中1的数量
    网络流(小常数)
    矩阵快速幂
    米勒罗宾素性检验
  • 原文地址:https://www.cnblogs.com/loveya/p/5351143.html
Copyright © 2011-2022 走看看