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 相关文章推荐
Javascript学习笔记9 prototype封装继承
Jan 11 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
Mar 15 Javascript
raphael.js绘制中国地图 地图绘制方法
Feb 12 Javascript
javascript瀑布流式图片懒加载实例解析与优化
Feb 23 Javascript
简单的分页代码js实现
May 17 Javascript
AngularJs html compiler详解及示例代码
Sep 01 Javascript
在vue.js中抽出公共代码的方法示例
Jun 08 Javascript
Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
Jul 03 Javascript
原生JS写Ajax的请求函数功能
Dec 22 Javascript
vue-cli扩展多模块打包的示例代码
Apr 09 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
Jan 16 Javascript
基于vue--key值的特殊用处详解
Jul 31 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语法(5)
2006/10/09 PHP
PHP远程连接MYSQL数据库非常慢的解决方法
2008/07/05 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
2013/06/21 PHP
php生成唯一数字id的方法汇总
2015/11/18 PHP
Zend Framework框架Smarty扩展实现方法
2016/03/22 PHP
网上应用的一个不错common.js脚本
2007/08/08 Javascript
JQuery中根据属性或属性值获得元素(6种情况获取方法)
2013/01/17 Javascript
Google (Local) Search API的简单使用介绍
2013/11/28 Javascript
node.js中的fs.unlinkSync方法使用说明
2014/12/15 Javascript
jquery图片切换插件
2015/03/16 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
2015/06/25 Javascript
jQuery 操作input中radio的技巧
2016/07/18 Javascript
Javascript 普通函数和构造函数的区别
2016/11/05 Javascript
axios中cookie跨域及相关配置示例详解
2017/12/20 Javascript
Javascript中parseInt的正确使用方式
2018/10/17 Javascript
通过JS深度判断两个对象字段相同
2019/06/14 Javascript
ES6中Symbol、Set和Map用法详解
2019/08/20 Javascript
element-ui中按需引入的实现
2019/12/25 Javascript
jquery实现两个div中的元素相互拖动的方法分析
2020/04/05 jQuery
js实现简单的贪吃蛇游戏
2020/04/23 Javascript
解决vue无法侦听数组及对象属性的变化问题
2020/07/17 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
python中from module import * 的一个坑
2014/07/20 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
Python 音频生成器的实现示例
2019/12/24 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
Python通过Pillow实现图片对比
2020/04/29 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
印度低票价航空公司:GoAir
2017/10/11 全球购物
应届生保险求职信
2013/11/11 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
2014年物资管理工作总结
2014/12/02 职场文书
母亲节寄语大全
2015/02/27 职场文书
大学生逃课检讨书
2015/05/04 职场文书
Java 超详细讲解设计模式之中的抽象工厂模式
2022/03/25 Java/Android