May 3rd, 2011 by Michael

hasClass, addClass und removeClass ohne jQuery

Es muss ja nicht immer gleich jQuery sein:

function hasClass(ele,cls) {
	if (typeof ele == 'undefined' || ele == null || !RegExp) {
		return false;
	}
	var reg = new RegExp('(^|\\s)'+cls+'(\\s|$)');
	if (typeof(ele) == 'string') {
		return reg.test(ele);
	} else if (typeof(ele) == 'object' && ele.className) {
		return reg.test(ele.className);
	}
	return false;
}
 
function addClass(ele,cls) {
	if (!hasClass(ele,cls)) {
		ele.className += ' '+cls;
	}
}
 
function removeClass(ele,cls) {
	if (hasClass(ele,cls)) {
		var reg = new RegExp('(^|\\s)'+cls+'(\\s|$)');
		ele.className = ele.className.replace(reg,' ');
	}
}

Tags: