end方法

作者: 我_巨可爱 | 来源:发表于2017-12-04 16:17 被阅读0次

每个jQuery对象都有三个属性,contextselectorprevObject

end方法

return this.prevObject || this.constructor();

pushStack 方法

pushStack = function( elems ) {
  var ret = jQuery.merge( this.constructor(), elems );
  ret.prevObject = this;
  return ret;
}
  1. this.constructor方法指向jQuery,因此会创建一个新的对象
  2. 将元素合并到新的jQuery对象上,然后将之前的this绑定到prevObject

内部使用 pushStack 的方法

find 为例,还有notfilter

find = function( selector ) {
    var i, ret,
        len = this.length,
        self = this;
    // 即使是 元素,检查是不是属于自己的
        // 将属于自己的元素再 使用 pushStack,这样可以创建新的jQuery对象
    if ( typeof selector !== "string" ) {
        return this.pushStack( jQuery( selector ).filter( function() {
            // this 是当前的的 DOM 元素
            for ( i = 0; i < len; i++ ) {
                // 检查一个元素是另一个元素的后代,container , contained
                if ( jQuery.contains( self[ i ], this ) ) {
                    return true;
                }
            }
        } ) );
    }

    ret = this.pushStack( [] );
        for ( i = 0; i < len; i++ ) {
        //  jQuery.find = Sizzle
        // 参数,selector, context, results, seed
        // 内部操作 results 也就是 ret,将符合要求的元素添加到ret上
        // 传址
        jQuery.find( selector, self[ i ], ret );
    }
    // 看一下,是集合还是单个元素
    return len > 1 ? jQuery.uniqueSort( ret ) : ret;
} 

相关文章

  • end方法

    每个jQuery对象都有三个属性,context,selector,prevObject end方法 pushSt...

  • 目标检测研究之路3

    端到端的方法 本小节介绍端到端(End-to-End)的目标检测方法,这些方法无需区域提名,包括YOLO和SSD ...

  • pair end mate pair de novo

    pair end pair end是直接在DNA两端假设接头进行双向测序,插入片段长度较短Paired-end方法...

  • 生物信息学-1-BASIC

    pair end pair end是直接在DNA两端假设接头进行双向测序,插入片段长度较短Paired-end方法...

  • iOS 收起键盘

    //方法1; [[[UIApplication sharedApplication] keyWindow] end...

  • 字符串截取

    js字符串截取函数常用的三个方法slice(start,[end]) substring(start,[end])...

  • Appium滑动屏幕(1)——swipe

    方法:swipe(self, start_x, start_y, end_x, end_y, duration=N...

  • JS截取字符串方法slice()、substring()和sub

    方法参数返回值slice(start, end)start(必需) -起始位置;end(可选)-结束位置,若未指定...

  • iOS概述

    @interface xxx:NSObject此处都是共有方法@end @interface xxx ()私有方法...

  • jQuery.end() 方法

    end() 方法结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态。 主要是在利用 jQuery 的链...

网友评论

      本文标题:end方法

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