zoukankan      html  css  js  c++  java
  • IE浏览器不支持document.getElementsByClassName的解决办法

    1、基础方法①

    /**
     * 通过class名和标签名获取css样式对象组
     */
    function getClassNames(classStr, tagName) {
        if (document.getElementsByClassName) {
            return document.getElementsByClassName(classStr)
        } else {
            // 为了兼容ie8及其以下版本的方法
            var nodes = document.getElementsByTagName(tagName), ret = [];
            for (i = 0; i < nodes.length; i++) {
                if (hasClass(nodes[i], classStr)) {
                   ret.push(nodes[i])
                }
            }
            return ret;
        }
    } 
    

    2、基础方法②

    /**
     * 判断节点class是否存在
     */
    function hasClass(tagStr, classStr) {
        // 这个正则表达式是因为class可以有多个,判断是否包含
        var arr = tagStr.className.split(/s+/);
        for ( var i = 0; i < arr.length; i++) {
            if (arr[i] == classStr) {
                return true;
            }
        }
        return false;
    }

    3、调用

    var tags = getClassNames('active', 'li');
    if (null != tags) {
        // 遍历对象,改其css样式
        for ( var i = 0; i < tags.length; i++) {
            tags[i].className = '';
        }
    }
    param.className = 'active';

    4、说明

    'active'是要操作的样式,'li'是要查找的标签。

  • 相关阅读:
    Jquery Ajax 调用 WebService
    Dapper.NET
    HTML5 canvas标签
    SQL内外左右交叉连接
    水晶报表纵向重复
    AngularJS 菜鸟
    什么是MVC框架?
    伪类和伪元素的区别
    常用的本地存储-----cookie篇
    JavaScript中基本数据类型和引用数据类型的区别
  • 原文地址:https://www.cnblogs.com/ywy8/p/12881228.html
Copyright © 2011-2022 走看看