用JS封装的通用addClass方法(函数)和removeClass方法(函数)

/*
 * 函数名:添加class。
 * 参数说明:element(必选) 指的是需要添加class的元素(对象); new_name(必选) 指的是需要添加的class名。
 * 返回值说明:形参为空则返回false;添加新的class名成功后则返回true。
 * 函数作用:为指定的元素添加指定的class名。
 */
function addClass(element, new_name) {
	if (!element || !new_name) return false;
	if (element.className) {
		var old_class_name = element.className;
		element.className = old_class_name + " " + new_name;
	} else{
		element.className = new_name;
	}
	return true;
}


/**************************************我是分割线**************************************/


/*
 * 函数名:移除class。
 * 参数说明:element(必选) 指的是需要移除class的元素(对象); class_name(必选) 指的是需要移除的class名。
 * 返回值说明:形参为空则返回false;指定元素的类名为空则返回false;移除指定的class名成功后则返回true。
 * 函数作用:为指定的元素移除指定的class名。
 */
function removeClass(element, class_name) {
	if(!element || !class_name) return false;
	if (!element.className) return false;
	var all_names = element.className.split(" ");
	for (var i = 0; i < all_names.length; i++) {
		if (all_names[i] === class_name) {
			all_names.splice(i, 1);
			element.className = "";
			for (var j = 0; j < all_names.length; j++) {
				element.className += " ";
				element.className += all_names[j];
			}
			return true;
		}
	}
}

你可能感兴趣的:(前端,-,JS)