JavaScript对类的操作

参数:

obj:要添加class属性的元素

cn:要操作的class值

addClass函数:向一个元素中添加指定的class属性值

function addClass(obj,cn){
    if(!hasClass(obj,cn)){
        obj.className+=" "+cn;
    }
}

hasClass函数:判断一个元素中是否含有指定的class属性值,如果含有指定的class属性值返回true,否则返回false

function hasClass(obj,cn){
     var reg=new RegExp("\\b"+cn+"\\b");
     return reg.test(obj.className);
}

removeClass函数:删除一个元素中指定的class属性

function removeClass(obj,cn){
    var reg=new RegExp("\\b"+cn+"\\b");
    obj.className=obj.className.replace(reg,"");
}

toggleClass函数:切换一个类,如果元素中具有该类则删除,如果元素中没有该类则添加

function toggleClass(obj,cn){
    if(hasClass(obj,cn)){
        removeClass(obj,cn);
    }else{
        addClass(obj,cn);
    }
}

使用正则表达式的原因是,在class属性中可能会出现包含字符串的情况,而且传入的是一个变量,所以使用正则表达式new RegExp()的创建模式。而且为了放置多次添加同一个类,我们需要判断类中是否有传入的属性值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值