您的位置:首頁技術文章
文章詳情頁

javascript - js怎么實現jq的addclass,removeclass,例如本來是 class="aa",要變成class="aa bb"

瀏覽:141日期:2023-03-27 15:41:03

問題描述

js怎么實現jq的addclass,removeclass,例如本來是 class='aa',要變成class='aa bb',注意不用jquery

問題解答

回答1:

js有個classlist的接口MDN鏈接

不過你要考慮下兼容性。

回答2:

replace

回答3:

if (!this.hasClass(obj, class)) obj.className += ' ' + class;

回答4:

elem.className或者elem.classList感覺classList比較好,elem.classList.add(’bb’)就可以了另外,jQuery源碼是通過className實現的addClass和removeClass最后加一句,這種偏基礎的問題要學會自己百度google

回答5:

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 +’bs*$’);var reg2 = new RegExp(’^s*’ + name+’b’);var reg3 = new RegExp(’b’+ name + ’s*$’);var reg4 = new RegExp(’s*b’+name+’bs*’);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,’ ’);} }}};

標簽: JavaScript
国产综合久久一区二区三区