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'是要查找的标签。

  • 相关阅读:
    省选模拟64
    省选模拟63
    杂题
    省选模拟62
    省选模拟61
    省选模拟60
    省选模拟58
    IntelliJ IDEA配置tomcat【全程详解】
    java之 Timer 类的简单使用案例
    Intellij IDEA导入Github中的MAVEN多模块项目【保持项目样式】
  • 原文地址:https://www.cnblogs.com/ywy8/p/12881228.html
Copyright © 2011-2022 走看看