Heim > Fragen und Antworten > Hauptteil
So implementieren Sie jqs Addclass und Removeclass in js. Beispielsweise ist es ursprünglich class="aa" und muss in class="aa bb" geändert werden
ringa_lee2017-07-05 10:46:24
elem.className
或者
elem.classList
感觉classList比较好,elem.classList.add('bb')就可以了
另外,jQuery源码是通过className实现的addClass和removeClass
最后加一句,这种偏基础的问题要学会自己百度google
学习ing2017-07-05 10:46:24
function addClass(ele,name){
if(ele && name){
var cn = ele.className;
if(!cn){
ele.className = name;
}else if(cn.indexOf(name) === -1){
ele.className = cn.replace(/\s*$/,' '+name);
}
}
}
function removeClass(ele,name){
var reg1 = new RegExp('^\\s*\\b'+ name +'\\b\\s*$');
var reg2 = new RegExp('^\\s*' + name+'\\b');
var reg3 = new RegExp('\\b'+ name + '\\s*$');
var reg4 = new RegExp('\\s*\\b'+name+'\\b\\s*');
if(ele && name){
var cn = ele.className;
if(cn && cn.indexOf(name) > -1){
if(reg1.test(cn)){
ele.className = '';
}else if(reg2.test(cn)){
ele.className = cn.replace(reg2,'');
}else if(reg3.test(cn)){
ele.className = cn.replace(reg3,'');
}else{
ele.className = cn.replace(reg4,' ');
}
}
}
};