天天看点

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|$)"))," ");
};