美文网首页我爱编程
jQuery原型上的属性和方法

jQuery原型上的属性和方法

作者: miner敏儿 | 来源:发表于2017-03-30 19:59 被阅读0次

    jQ原型上的核心方法和属性:
    1、jquery 获取jQ版本号
    2、selector 实例默认的选择器取值
    3、length 实例默认的长度
    4、toArray 把实例转换为数组返回
    5、get 获取指定下标的元素,获取的是原生DOM
    6、eq 获取指定下标的元素,获取的是jQuery类型的实例对象
    7、first 获取实例中的第一个元素,是jQuery类型的实例对象
    8、last 获取实例中的最后一个元素,是jQuery类型的实例对象
    9、splice 按照指定下标指定数量删除元素,也可以替换删除的元素
    11、push 给实例添加新元素
    12、sort 对实例中的元素进行排序
    13、each 遍历实例,把遍历到的数据传给回调使用
    14、map 遍历实例,把遍历到的数据传给回调使用,然后把回调的返回值收集起来组成一个新的数组返回

    • 属性和方法的测试函数
     console.log($().jquery);//2.0.0
     console.log($().selector);//''
     console.log($().length);//0
     //4、toArray 把实例转换为数组返回
     $(function(){
    console.log($('div'));//init {0: div, 1: div, 2: div, length: 3}
    console.log($("div").toArray());//Array:(3)
                 })
    
    • jq中封装
     jquery:'2.0.0' ,
    selector:"",
     length:0,
     toArray:function(){
            return [].slice.call(this)
        },
    
    • 5.get 获取指定下标的元素,获取的是原生DOM
    $(function(){
     console.log($('div'));//init {0: div, 1: div, 2: div, length: 3}
     console.log($('div').get()); //[div, div, div]                 console.log($('div').get(1));//<div>div2</div>
    console.log($('div').get(-1));//<div>div3</div>
    console.log($('div').get("ads"));//undefined
                  })
    
      get:function(index){
            //1.没有传入参数,返回数组
            if(arguments.length==0){
                return this.toArray();
            }
            //2.传入一个正数
            if(index>0){
                return this[index];
            }
            //3.传入一个负数
            if(index<0){
                return this[this.length+index]
            }
        },
    
    • 返回的是数组

    • 6.eq 获取指定下标的元素,获取的是jQuery类型的实例对象

                   $(function(){
                       console.log($("div"));
                       //如果没有传递参数,会返回一个空的jq实例
                       console.log($('div').eq());
                       //会将指定索引的元素包装为一个jQ实例之后返回
                       console.log($('div').eq(1));
                       console.log($('div').eq(-2));
                       console.log($('div').eq('abc'));
                   })
    
    -   1.如果没有传递参数,会返回一个空的jq实例
    - 2.会将指定索引的元素包装为一个jQ实例之后返回
    
    eq:function(index){
                //1.没有传递参数, 返回所有实例
                if(arguments.length==0){
                    return this;
                }
                //传入index的正负情况和get方法一样,只是eq返回的是实例,而get返回的是数组,只需要用$()包装成实例即可
                 return $(this.get(index));
            },
    
    • 返回的都是jq实例
    • 没有传递参数, 返回所有实例
    • 传入index的正负情况和get方法一样,只是eq返回的是实例,而get返回的是数组,只需要用$()包装成实例即可
    • 7.first 获取实例中的第一个元素,是jQuery类型的实例对象
            $(function () {
                console.log($("div").first());
            });
    
    • 8.last 获取实例中的最后一个元素,是jQuery类型的实例对象
            $(function () {
         console.log($("div").last());
            });
    
      $(function () {
             var oBtn = document.createElement("button");
              var temp = $("div");
               console.log(temp);//打印出3个div和 1个button(没添加的时候没有) 都是jq类型的实例对象
                temp.push(oBtn);
                console.log(temp);//打印出3个div和 1个button 都是jq类型的实例对象
           });
    
    • 11、push 给实例添加新元素
    $(function () {
                var oBtn = document.createElement("button");
                var temp = $("div");
                console.log(temp);  //打印出3个div 都是jq类型的实例对象
                temp.push(oBtn);
                console.log(temp);//打印出3个div和 1个button 都是jq类型的实例对象
            });
    
    • 上面几个方法的jQuery结构
     first:function(){
                return this.eq(0);
            },
            last:function(){
                return this.eq(-1);
            },
            sort:[].sort,
            splice:[].splice,
            push:[].push,
            slice:[].slice,
    

    相关文章

      网友评论

        本文标题:jQuery原型上的属性和方法

        本文链接:https://www.haomeiwen.com/subject/clauottx.html