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 题型问答有答案参考
Feb 17 Javascript
extjs 04_grid 单击事件新发现
Nov 27 Javascript
Jquery判断$("#id")获取的对象是否存在的方法
Sep 25 Javascript
jQuery中has()方法用法实例
Jan 06 Javascript
xtemplate node.js 的使用方法实例解析
Aug 22 Javascript
在Vue中使用highCharts绘制3d饼图的方法
Feb 08 Javascript
vue.js input框之间赋值方法
Aug 24 Javascript
详解JavaScript中的函数、对象
Apr 01 Javascript
浅谈javascript中的prototype和__proto__的理解
Apr 07 Javascript
阿望教你用vue写扫雷小游戏
Jan 20 Javascript
详解vue高级特性
Jun 09 Javascript
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
Feb 26 Vue.js
编写针对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文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
jquery+php实现导出datatables插件数据到excel的方法
2015/07/06 PHP
WampServer搭建php环境时遇到的问题汇总
2015/07/23 PHP
PHP 5.6.11中CURL模块问题的解决方法
2016/08/08 PHP
PHP如何通过表单直接提交大文件详解
2019/01/08 PHP
JQuery扩展插件Validate—4设置错误提示的样式
2011/09/05 Javascript
在父页面调用子页面的JS方法
2013/09/29 Javascript
解决json日期格式问题的3种方法
2014/02/02 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
Angularjs注入拦截器实现Loading效果
2015/12/28 Javascript
jquery获取复选框checkbox的值的简单实现方法
2016/05/26 Javascript
javascript类型系统——日期Date对象全面了解
2016/07/13 Javascript
一个简单的JavaScript Map实例(分享)
2016/08/03 Javascript
JavaScript DOM节点操作方法总结
2016/08/23 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
Angular.js通过自定义指令directive实现滑块滑动效果
2017/10/13 Javascript
微信小程序实现倒计时调用相机自动拍照功能
2018/06/10 Javascript
深入解析koa之中间件流程控制
2019/06/17 Javascript
JavaScript面向对象中接口实现方法详解
2019/07/24 Javascript
python转换摩斯密码示例
2014/02/16 Python
Python实现115网盘自动下载的方法
2014/09/30 Python
python函数的5种参数详解
2017/02/24 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
Python Dataframe 指定多列去重、求差集的方法
2018/07/10 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
Python supervisor强大的进程管理工具的使用
2019/04/24 Python
TensorFlow查看输入节点和输出节点名称方式
2020/01/04 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
2020/06/09 Python
美国南部最大的家族百货公司:Belk
2017/01/30 全球购物
Sandro Paris美国官网:典雅别致的法国时尚服饰品牌
2017/12/26 全球购物
巴西葡萄酒商店:Divvino
2020/02/22 全球购物
机电专业个人求职信范文
2013/12/30 职场文书
离婚纠纷代理词
2015/05/23 职场文书
如何写一份具有法律效力的借款协议书?
2019/07/02 职场文书
css3 filter属性的使用简介
2021/03/31 HTML / CSS
Python list去重且保持原顺序不变的方法
2021/04/03 Python