用来获取元素 //用来判断某个元素是否有某个class // 如果没有添加 // 如果有就删除的封装函数

都在注释上哈,很简单,看一下就懂了,就不啰嗦了

// 用来获取元素
// 用来判断某个元素是否有某个class
// 如果没有添加
// 如果有就删除

//获取元素id class  tag  all
function M(sele) {
    var first = sele.substr(0,1),
        isArr = sele.split(' ');//id class tag
    if(first==="#"&&isArr.length==1){//id
        return document.getElementById(sele.substr(1));
    }else{
        var arr = Array.from(document.querySelectorAll(sele));
        return arr.length == 1?arr[0] :arr;
    }
}

//判断某个元素是否包含某个class
function hasClass(obj,cls){
    var re = new RegExp(`\\b${cls}\\b`);
    if(re.test(obj.className)){
        return true;
    }else{
        return false;
    }
}

//给某个元素添加class
function addClass(obj,cls){
    if(!hasClass(obj,cls)){
        obj.className += ` ${cls}`;//不要忘了前面的空格哈
    }
    obj.className = obj.className.trim();//去掉前后空格
}

//给某个元素删除class
function rmClass(obj,cls){
    var re = new RegExp(`\\b${cls}\\b`);
    if(hasClass(obj,cls)){
        obj.className = obj.className.replace(re,'')
            .replace(/\s{2}/,' ').trim();//去掉前后空格
    }
}

猜你喜欢

转载自blog.csdn.net/lhjuejiang/article/details/80896428