Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  javascript  >  正文 js判断样式className增加或删除class的代码一例

js判断样式className增加或删除class的代码一例

发布时间:2014-09-27   编辑:www.jquerycn.cn
如何用正则表达式判断多个class之间是否存在真正的class(前后空格的处理),然后增加class删除class呢?本文给出的代码,正是实现此功能的一个不错的例子,供大家学习参考。

代码如下:

<script language="javascript">
/**
 * 判断样式className
 * http://www.jbxue.com
*/
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|$)"))," ");
}; 
</script>

您可能感兴趣的文章:
js判断样式className增加或删除class的代码一例
jQuery 2.0.3 源码分析 样式操作
jquery 如何动态添加、删除class样式方法介绍
Jquery显示、隐藏元素以及添加删除样式
js 删除数组的几种方法
jquery 动态添加、删除class样式的方法
jQuery 添加/移除CSS类实现代码
jQuery操作元素css样式三种方法示例
兼容多浏览器 高亮带缓冲的二级折叠菜单效果
jQuery选择器的工作原理和优化分析

[关闭]