如何在节点上添加样式

有三种情况需要考虑

  • 节点没有样式,直接追加
  • 节点有样式:
  1. 节点已经包含了这个样式,直接返回
  2. 节点没有包含这个样式,获取到现有样式后进行字符串连接,注意中间要有空格,在添加到样式上
    //添加class
    Base.prototype.addClass = function(str) {
        var hasClass=function hasClass(str, substr) {
            return  str.match(new RegExp('(\\s|^)'+substr+'(\\s|$)'))? true : false;
        }
        for (var i = 0; i < this.elements.length; i++) {
            var className = this.elements[i].className;
            if (className) {
                //如果有class名了,追加样式
                if (hasClass(className, str)) {
                     return this;
                } else {
                     this.elements[i].className = className + " " + str;
                }
                
    
            } else {
                this.elements[i].className = str;
            }
    
        }
        return this;
    }

     

转载于:https://www.cnblogs.com/t1amo/p/6755913.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值