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


Posted in Javascript onJanuary 30, 2013
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|$)"))," "); 
};
Javascript 相关文章推荐
jQuery使用fadein方法实现渐出效果实例
Mar 27 Javascript
JavaScript中数据结构与算法(三):链表
Jun 19 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
Nov 04 Javascript
教你如何终止JQUERY的$.AJAX请求
Feb 23 Javascript
如何在JS中实现相互转换XML和JSON
Jul 19 Javascript
vue-cli配置文件——config篇
Jan 04 Javascript
mint-ui在vue中的使用示例
Apr 05 Javascript
Node.js JSON模块用法实例分析
Jan 04 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
May 08 Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
May 21 Javascript
vue实现多组关键词对应高亮显示功能
Jul 25 Javascript
如何通过Proxy实现JSBridge模块化封装
Oct 22 Javascript
编写针对IE的JS代码两种编写方法
Jan 30 #Javascript
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
Jan 29 #Javascript
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
Jan 29 #Javascript
JavaScript起点(严格模式深度了解)
Jan 28 #Javascript
一个页面元素appendchild追加到另一个页面元素的问题
Jan 27 #Javascript
JavaScript转换农历类实现及调用方法
Jan 27 #Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
Jan 27 #Javascript
You might like
PHP正则的Unknown Modifier错误解决方法
2010/03/02 PHP
PHP命名空间(Namespace)的使用详解
2013/05/04 PHP
WordPress迁移时一些常见问题的解决方法整理
2015/11/24 PHP
PHP接口类(interface)的定义、特点和应用示例
2020/05/18 PHP
JQuery给元素添加/删除节点比如select
2013/04/02 Javascript
用jQuery获取IE9下拉框默认值问题探讨
2013/07/22 Javascript
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
轻量级的原生js日历插件calendar.js使用指南
2015/04/28 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
2017/06/13 Javascript
让微信小程序支持ES6中Promise特性的方法详解
2017/06/13 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
2019/02/28 Javascript
vue的列表交错过渡实现代码示例
2019/05/05 Javascript
Layui动态生成select下拉选择框不显示的解决方法
2019/09/24 Javascript
详解element上传组件before-remove钩子问题解决
2020/04/08 Javascript
解决vant的Toast组件时提示not defined的问题
2020/11/11 Javascript
手动实现vue2.0的双向数据绑定原理详解
2021/02/06 Vue.js
Python实现批量把SVG格式转成png、pdf格式的代码分享
2014/08/21 Python
python实现线程池的方法
2015/06/30 Python
Python逐行读取文件中内容的简单方法
2019/02/26 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
Python+PyQT5的子线程更新UI界面的实例
2019/06/14 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
Python API len函数操作过程解析
2020/03/05 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
Django和Ueditor自定义存储上传文件的文件名
2021/02/25 Python
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
DOUGLAS波兰:在线销售香水和化妆品
2020/07/05 全球购物
汽车专业毕业生自荐信
2013/11/03 职场文书
机械制造与自动化应届生求职信
2013/11/16 职场文书
生物专业个人自荐信范文
2013/11/29 职场文书
小兵张嘎观后感
2015/06/03 职场文书
高一地理教学工作总结
2015/08/12 职场文书
2016拓展训练心得体会范文
2016/01/12 职场文书