使用JS实现jQuery的addClass, removeClass, hasClass函数功能_Javascript教程-查字典教程网
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
发布时间:2016-12-30 来源:查字典编辑
摘要:废话不多说,直接上代码复制代码代码如下: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;

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类