zoukankan      html  css  js  c++  java
  • js学习总结----操作元素的样式类名

    1、hasClass:验证当前元素中是否包含className这个样式类名 

    function hasClass(curEle,className){
            // if(curEle.className.indexOf(className)){
            //     return true;  使用indexOf是有问题的
            // }
            // return false;
            var reg = new RegExp("(^| +)"+className+"( +|$)")
            return reg.test(curEle.className);
        }

    2、addClass:给元素增加样式类名

    function addClass(curEle,className){
            //为了防止className传递进来的值包含多个样式类名,我们把传递进来的字符串按照一到多个空格拆分成数组中的每一项
            var ary = className.split(/ +/g);
            //循环数组,一项项的进行验证增加即可
            for(var i = 0;i<ary.length;i++){
                var curName = ary[i]
                if(!hasClass(curEle,curName)){
                    // curEle.className += " " + className; //如果className类似于这样的"position bg"多个组合的,会出现重复问题
                    curEle.className += " " + curName;
                }
            }
            
        }

    3、removeClass:给元素移除样式类名

    function removeClass(curEle,className){
            var ary = className.split(/ +/g);
            for(var i = 0;i<ary.length;i++){
                var curName = ary[i]
                if(hasClass(curEle,curName)){
                    var reg = new RegExp("(^| +)"+curName+"( +|$)","g");
                    curEle.className = curEle.className.replace(reg," ")
                }
            }
        }
  • 相关阅读:
    sss
    stm32cube使用
    FreeRTOS
    嵌入式网站
    CRC分段校验
    IAR编译器
    (转)UCOSII源代码剖析
    (转)stm32硬件IIC
    keil MDK注意事项
    (转).Net中自定义类作为Dictionary的key详解
  • 原文地址:https://www.cnblogs.com/diasa-fly/p/7150847.html
Copyright © 2011-2022 走看看