1. 程式人生 > >原生js模擬jquery中的addClass和removeClass方法

原生js模擬jquery中的addClass和removeClass方法

js程式碼:

//新增類
function addClass(obj,className) {
if(obj.className == '') {
//如果沒有class
obj.className = className;
}else {
var strClass = obj.className;
var arrClass = strClass.split(' ');
var arr = [];
var index = arrIndex(arrClass,className);
if(index == -1) {
//如果不存在class
arr.push(className);
obj.className += ' ' + arr.join(' ');
}
}
}

 

//移除類
function removeClass(obj,className) {
if(obj.className == '') {
alert('該物件沒有class');
}else {
var arrClass = obj.className.split(' ');
console.log(arrClass);
var index = arrIndex(arrClass,className);
if(index != -1) {
//如果該物件已經存在className
arrClass.splice(index,1);
obj.className = arrClass.join(' ');
}
}
}

 

//查詢是否存在相同class

function arrIndex(arrClass,a) {
for(var i = 0; i<arrClass.length; i++) {
if(arrClass[i] == a) {
return i
}
}
return -1;
}