我們需要來(lái)寫(xiě) addClass 方法 , 在添加class的時(shí)候,需要判斷是否已經(jīng)存在 ,如果沒(méi)有存在即添加。
所以我們準(zhǔn)備兩個(gè)方法, 一個(gè)是addClass, 另一個(gè)則是 hasClass ;
首先是hasClass方法 :
function hasClass(ele , className){
/*通過(guò)正則表達(dá)式來(lái)判斷*/
let reg= new RegExp("(^|\\s)"+className+"(\\s|$)");
return reg.test(ele.className);
}
當(dāng)我們準(zhǔn)備好hasClass方法后,就可以來(lái)寫(xiě)addClass了。如下:
function addClass(ele,className){
if(!hasClass(ele,className)){
/*先轉(zhuǎn)化為數(shù)組*/
var newClassArray = ele.className.split(" ");
/*往數(shù)組中添加新的class*/
newClassArray.push(className);
/*將數(shù)組轉(zhuǎn)化為string , 再進(jìn)行賦值操作*/
ele.className = newClassArray.join(" ");
}
}