使用JS实现jQuery的addClass, removeClass, hasClass函数功能
作者:bea
废话不多说,直接上代码 代码如下: function addClass(obj, cls){ var obj_class = obj.className,//获取 class 内容. blank = (obj_class != '') ? ' ' : '';//判断获取到的 class 是否为空, 如果不为空在前面加个'空格'. added = obj_class + blank + cls;//组合原来的 class 和需要添加的 class. obj
废话不多说,直接上代码
代码如下:
function addClass(obj, cls){
var obj_class = obj.className,//获取 class 内容.
blank = (obj_class != '') ? ' ' : '';//判断获取到的 class 是否为空, 如果不为空在前面加个'空格'.
added = obj_class + blank + cls;//组合原来的 class 和需要添加的 class.
obj.className = added;//替换原来的 class.
}
function removeClass(obj, cls){
var obj_class = ' '+obj.className+' ';//获取 class 内容, 并在首尾各加一个空格. ex) 'abc bcd' -> ' abc bcd '
obj_class = obj_class.replace(/(s+)/gi, ' '),//将多余的空字符替换成一个空格. ex) ' abc bcd ' -> ' abc bcd '
removed = obj_class.replace(' '+cls+' ', ' ');//在原来的 class 替换掉首尾加了空格的 class. ex) ' abc bcd ' -> 'bcd '
removed = removed.replace(/(^s+)|(s+$)/g, '');//去掉首尾空格. ex) 'bcd ' -> 'bcd'
obj.className = removed;//替换原来的 class.
}
function hasClass(obj, cls){
var obj_class = obj.className,//获取 class 内容.
obj_class_lst = obj_class.split(/s+/);//通过split空字符将cls转换成数组.
x = 0;
for(x in obj_class_lst) {
if(obj_class_lst[x] == cls) {//循环数组, 判断是否包含cls
return true;
}
}
return false;
}
有用 | 无用
代码如下:
function addClass(obj, cls){
var obj_class = obj.className,//获取 class 内容.
blank = (obj_class != '') ? ' ' : '';//判断获取到的 class 是否为空, 如果不为空在前面加个'空格'.
added = obj_class + blank + cls;//组合原来的 class 和需要添加的 class.
obj.className = added;//替换原来的 class.
}
function removeClass(obj, cls){
var obj_class = ' '+obj.className+' ';//获取 class 内容, 并在首尾各加一个空格. ex) 'abc bcd' -> ' abc bcd '
obj_class = obj_class.replace(/(s+)/gi, ' '),//将多余的空字符替换成一个空格. ex) ' abc bcd ' -> ' abc bcd '
removed = obj_class.replace(' '+cls+' ', ' ');//在原来的 class 替换掉首尾加了空格的 class. ex) ' abc bcd ' -> 'bcd '
removed = removed.replace(/(^s+)|(s+$)/g, '');//去掉首尾空格. ex) 'bcd ' -> 'bcd'
obj.className = removed;//替换原来的 class.
}
function hasClass(obj, cls){
var obj_class = obj.className,//获取 class 内容.
obj_class_lst = obj_class.split(/s+/);//通过split空字符将cls转换成数组.
x = 0;
for(x in obj_class_lst) {
if(obj_class_lst[x] == cls) {//循环数组, 判断是否包含cls
return true;
}
}
return false;
}
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- jQuery修改li下的样式以及li下的img的src的值的方法
- jQuery中ajax和post处理json的不同示例对比
- 一款基jquery超炫的动画导航菜单可响应单击事件
- 加载列表时jquery获取ul中第一个li的属性
- 基于jquery固定于顶部的导航响应浏览器滚动条事件
- jQuery ajax serialize() 方法使用示例
- js获取UserControl内容为拼html时提供方便
- Javscript调用iframe框架页面中函数的方法
- js实现文章文字大小字号功能完整实例
- js中confirm实现执行操作前弹出确认框的方法
- js实现按钮加背景图片常用方法
- js实现网页随机切换背景图片的方法
- JS获取浏览器语言动态加载JS文件示例代码
- 一个检测表单数据的JavaScript实例
- JS 打印功能代码可实现打印预览、打印设置等
- 使用JQ来编写最基本的淡入淡出效果附演示动画
- Jquery修改页面标题title其它JS失效的解决方法
- jQuery实现响应浏览器缩放大小并改变背景颜色
- Thinkphp模板没有解析直接原样输出的解决方法