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

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

时间:2023-02-28 20:33:11浏览次数:40  
标签:obj sele 元素 className 某个 用来 cls


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

// 用来获取元素
// 用来判断某个元素是否有某个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();//去掉前后空格
}
}


标签:obj,sele,元素,className,某个,用来,cls
From: https://blog.51cto.com/u_15983333/6091780

相关文章