思路:在IE8及其以下版本的浏览器中className会变为一个字符串,用split将其变为数组,用逗号隔开
你所需要的class名,再建一个新数组,判断原来那个数组里面的元素有没有你需要的类名,如果有,就添加到

新数组里,最后返回新数组

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title></head>
<body>
<ul id="a"><li class="a  abc  abcd  abcde ">1</li><li class="c a">2</li><li class="aa">3</li><li class="a  c   b  r  f">4</li><li class="b">5</li>
</ul>
<div id="b"><b   class="div1">12312</b><div class="divvv">aisdjfoa </div><h1 class="div  div1"> 23456</h1><p class="div2  "> pppp</p>
</div>
<script>
// 第一种:
    for (var i = 0; i <fn("a","a").length; i++) {fn("a","a")[i].style.background = "red";}
//需要调用时,直接修改调用函数fn里的参数,第一个参数为父元素的id,第二个参数为要调用的class类名
    for (var i = 0; i <fn("b","div1").length; i++) {fn("b","div1")[i].style.color = "blue";}function fn(ul,a) {var oUL = document.getElementById(ul);var arrLi = oUL.getElementsByTagName("*");// 获取到ul标签下所有子标签
        //console.log(typeof  arrLi[0].getAttribute("class"))检查第一个class的类型;//String;所以class为字符串;
        var arLII = [];//存放含有我需要类名的标签
        for (var i = 0; i < arrLi.length; i++) {var arrString = arrLi[i].className.split(" ")// class类名中的空格换成,将arrLi[i]变为数组并以逗号隔开,即第一个classarrString=[a,ab,abcd,abcde]
            for (j in arrString) {if (arrString[j] == a) {arLII.push(arrLi[i])}// 然后进行for in循环,判断这个数组里是否有为“a”的元素,如果有就添加到新数组里
            }}return arLII;//返回新数组

    }</script></body>
<!--<ul>-->
    <!--<li class="RRR">1</li>-->
    <!--<li class="c a">2</li>-->
    <!--<li class="RRR">3</li>-->
    <!--<li class="a  c   b  r  f">4</li>-->
    <!--<li class="b">5</li>-->
<!--</ul>-->
<script>
// 第二种:

    //    function rua(classR,ruaC) {
    //        ruaC=ruaC||document;
    //        if(ruaC.getElementsByClassName){
    //            return ruaC.getElementsByClassName(classR);
    //        }else{
    //            var RR=ruaC.getElementsByTagName("*");
    //            var ru=[];
    //            for (var i=0;i<RR.length;i++){
    //                var aa=RR[i].className.split(" ");
    //                for(var p=0;p<aa.length;p++){
    //                    if(aa==classR){
    //                        ru.push(RR[i]);
    //                    }
    //                }
    //
    //            }
    //            return ru;
    //        }
    //    }
    //    var Rul=document.getElementsByTagName("ul")[0];
    //    rua("RRR",Rul)[0].style.color="red";

</script>
</html>

封装class,让className可以在IE8及其以下版本的浏览器中使用相关推荐

  1. html中padding在ie8兼容性,怎么解决bootstrap在各版本IE浏览器中的兼容性问题?

    元芳怎么了 Bootstrap的目标是在最新的桌面和移动浏览器上有最佳的表现,也就是说,在较老旧的浏览器上可能会导致某些组件表现出的样式有些不同,但是功能是完整的.bootstrap3支持的浏览器:C ...

  2. 解决ie8及低版本浏览器不支持html5标签属性

    html5新标签<head>.<nav>.<footer>兼容性 - 经验小结,处理方案 IE支持: IE8或更早的版本不支持HTML5的<nav>标签 ...

  3. 高版本IE浏览器(IE8、IE9)查看网页Applet问题解决方案

    使用高版本IE浏览器(IE8.IE9等)查看包含Applet的网页时,网页的Applet所在区域无法正常显示(空白),解决办法如下: 1.确保客户端已经安装Java的JRE,JRE中已经包含了运行Ap ...

  4. IE8 以下版本的浏览器的盒子模型有什么不一样的地方?

    盒 子模型:   外边距(margin)    边框(border)      内边距(padding)    内容(content): 在标准的盒子模型中(ie8 以上的版本中),宽度和高度指的是  ...

  5. 不支持IE8及以下版本

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  6. RegExp在IE8等浏览器中的兼容性问题

    这里讲的兼容性问题主要指String的API在正则表达式的处理上不同. 匹配结果的兼容性 第一个问题:在IE<=8中,如果split()方法的限定符是正则表达式,返回的数组不包含空值元素,而如果 ...

  7. 背景色透明兼容写法,兼容IE8等低版本浏览器

    现在虽然好多企业公司放弃了兼容IE8及以下的浏览器,但是免不了在做一些政府网站时会要求兼容低版本.工作中遇到的,做下总结,以便以后查阅方便 设置背景色半透明背景色透明兼容写法,兼容IE8等低版本浏览器 ...

  8. IE8浏览器中图片透明度设置

    在IE浏览器中自IE9之后的图片透明度的设置方法都是一致的,而且是最简便的设置方式,CSS代码如下: filter: alpha(opacity=70); 若果要兼容其他的浏览器的话,我通常的做法是直 ...

  9. Python正则表达式工具类文件的封装实例,提供了多个实例,并且在代码中包含中文注释

    Python正则表达式工具类文件的封装实例,提供了多个实例,并且在代码中包含中文注释 import reclass RegexUtils:'''正则表达式工具类'''def __init__(self ...

最新文章

  1. svn服务器发生变更,如何切换
  2. 一位996、CRUD开发者的一天
  3. 2018.3.30 边框应用与导航栏设置
  4. C++反汇编第一讲,认识构造函数,析构函数,以及成员函数
  5. 计算机二进制和太极,八卦与二进制
  6. MySQL 的DDL DML DQL DCL细节解析 知道这些就够了
  7. 【论文】2019 年,智能问答(Question Answering)的主要研究方向有哪些?
  8. 奥普泰安防监控智能配电箱——为安防行业添新助力
  9. 同城大数据| 有人坐享繁华,有人蜗居窘促,帝都学子们的差距有多大?
  10. minisforum HX90G/HX99G miniPC-Hackintosh-Opencore 黑苹果efi引导文件
  11. 打印机服务器ip修改,怎样改打印机服务器的ip地址
  12. 集智全球开源 聚合中国力量 Tungsten Fabric中文社区成立大会暨社区第一次全员大会成功举行
  13. SDI、PDI、UART,I2C,SPI 接口总结
  14. 老牌基金重仓股轮番遭“空投”
  15. GraphCut算法介绍
  16. 供应链环境下,制造企业物流运作模式该如何选择
  17. vb调用蜂鸣器制造音阶
  18. 【AVD】FFmpeg 音频编码时 SampleFormat 的选择,报错 “Specified sample format s16 is invalid or not supported.“ 的解决
  19. html长方形代码_html实现圆角矩形
  20. 韩国GreenChip高灵敏抗干扰面板触控触摸芯片

热门文章

  1. 转自周金涛:一辈子有三次暴富机会,最近的一次在2019年?2018年你要怎么做? (2018-02-21 17:49:17)...
  2. 网站运营的9个常用搜索技巧
  3. 数据导入(excel读取,存储进数据库【多表】)
  4. 最新CTR预测服务的GPU优化实践
  5. MTK led闪烁改为呼吸灯模式
  6. 微信小程序收起键盘(微信小程序关闭键盘)
  7. Elk实时日志分析平台搭建
  8. 如果不从事编程,我可以做什么?
  9. 直播间炒不起氛围?观众迟迟不下单?千万别忽略了助播的重要性!
  10. ctf之crypto练习二