js判断样式className同时增加class或删除class

代码如下:

function MyClass () {} 
MyClass.hasClassName = function(element, className) 
{ 
if (!element) return; 
var elementClassName = element.className; 
if (elementClassName.length == 0) return false; 
//用正则表达式判断多个class之间是否存在真正的class(前后空格的处理) 
if (elementClassName == className || elementClassName.match(new RegExp("(^|\\s)" + className + "(\\s|$)"))) 
return true; 
return false; 
}; 
MyClass.addClassName = function(element, className) 
{ 
if (!element) return; 
var elementClassName = element.className; 
if (elementClassName.length == 0) 
{ 
element.className = elementClassName; 
return; 
} 
if (elementClassName == className || elementClassName.match(new RegExp("(^|\\s)" + className + "(\\s|$)"))) 
return; 
element.className = elementClassName + " " + className; 
}; 
MyClass.removeClassName = function(element, className) 
{ 
if (!element) return; 
var elementClassName = element.className; 
if (elementClassName.length == 0) return; 
if(elementClassName == className) 
{ 
element.className = ""; 
return; 
} 
if (elementClassName.match(new RegExp("(^|\\s)" + className + "(\\s|$)"))) 
element.className = elementClassName.replace((new RegExp("(^|\\s)" + className + "(\\s|$)"))," "); 
};

相关推荐