手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >使用JS实现jQuery的addClass, removeClass, hasClass函数功能
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
摘要:废话不多说,直接上代码复制代码代码如下:functionaddClass(obj,cls){varobj_class=obj.classNa...

废话不多说,直接上代码

复制代码 代码如下:

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;

}

【使用JS实现jQuery的addClass, removeClass, hasClass函数功能】相关文章:

js实现简单锁屏功能实例

jquery中添加属性和删除属性

javascript委托(Delegate)blur和focus用法实例分析

浅谈jQuery构造函数分析

手机号码本地检测 原创

JS+CSS实现的拖动分页效果实例

使用Node.js处理前端代码文件的编码问题

JavaScript实现简单的数字倒计时

jQuery聚合函数实例

jQuery解析XML文件同时动态增加js文件的方法

精品推荐
分类导航