Maison > Questions et réponses > le corps du texte
Comment implémenter addclass et removeclass de jq dans js Par exemple, il s'agit à l'origine de class="aa" et il doit être remplacé par class="aa bb".
曾经蜡笔没有小新2017-07-05 10:46:24
js a une interface de liste de classes
Lien MDN
Mais vous devez considérer la compatibilité.
ringa_lee2017-07-05 10:46:24
elem.className
ou
elem.classList
Je pense que classList est meilleur, elem.classList.add('bb') fera l'affaire
De plus, le code source jQuery implémente addClass et RemoveClass via className
Une dernière phrase, ce biais Pour les questions de base, vous devez apprendre vous-même à utiliser Baidu et 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,' ');
}
}
}
};