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

  };