jquery-属性框架探索

jq中对于属性操作:

属性操作 新增
        var element =  $("p").eq(1)
        element.attr("name",'神仙');
属性操作 删除
    element =  $("p").eq(1)
    element.removeAttr("name");
属性操作 - addClass
     element =  $("p").eq(1)
     element.addClass("add hide");
属性操作 - removeClass
     element =  $("p").eq(1)
     element.removeClass("hide");

具体例子可看代码

dom原生属性操作:

attr 单元素
    function attr(id, key, value){
        var dom =  $$.$id(id);
        if(value){
            dom.setAttribute(key, value);
        }else{
            return dom.getAttribute(key);
        }
    }
    //使用
     $$.$id('mybtn').onclick = function(){
            attr('container','name','hello');
            attr('container','class','div');
        }

具体例子可看代码

attr 多元素 get/set
        function attr(content, key, value){
            var dom =  $$.$all(content);
    //        如果是数组  比如tag
            if(dom.length){
                if(value){
                    for(var i= 0, len=dom.length; i <len; i++){
                        dom[i].setAttribute(key, value);
                    }
                }else{
                    return dom[0].getAttribute(key);
                }
    //            如果是单个元素  比如id
            }else{
                if(value){
                    dom.setAttribute(key, value);
                }else{
                    return dom.getAttribute(key);
                }
            }
        }

具体例子可看代码

添加和删除class

动态添加和移除class
    function addClass(context, name){
            //获取dom元素
            var doms = $$.$all(context);
            //如果获取的是集合
            if(doms.length){
                for(var i= 0,len=doms.length;i<len;i++){
                    addName(doms[i]);
                }
            //如果获取的不是集合
            }else{
                addName(doms);
            }
            function addName(dom){
                dom.className = dom.className + ' ' + name;
            }
        }

         function removeClass(context, name){
             var doms = $$.$all(context);
             if(doms.length){
                 for(var i= 0,len=doms.length;i<len;i++){
                     removeName(doms[i]);
                 }
             }else{
                 removeName(doms);
             }
             function removeName(dom){
                 dom.className = dom.className.replace(name, '');
             }
         }

具体例子可看代码

判断是否有
 function hasClass(context,name){
        var doms = $$.$all(context)
        var flag = true;
        for(var i= 0,len=doms.length;i<len;i++){
            flag = flag && check(doms[i],name)
        }

        return flag;
        //判定单个元素
        function check(element,name){
            return -1<(" "+element.className+" ").indexOf(" "+name+" ")
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值