zoukankan      html  css  js  c++  java
  • end()与andSelf()

    end()

    回到最近的一个"破坏性"操作之前。即,将匹配的元素列表变为前一次的状态。

    如 果之前没有破坏性操作,则返回一个空集。所谓的"破坏性"就是指任何改变所匹配的jQuery元素的操作。这包括在 Traversing 中任何返回一个jQuery对象的函数--'add', 'andSelf', 'children', 'filter', 'find', 'map', 'next', 'nextAll', 'not', 'parent', 'parents', 'prev', 'prevAll', 'siblings' and 'slice'--再加上 Manipulation 中的 'clone'。

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

    详细说明

    大多数 jQuery 的遍历方法会操作一个 jQuery 对象实例,并生成一个匹配不同 DOM 元素集的新对象。当发生这种情况时,应该会把新的元素集推入维持在对象中的堆栈内。每次成功的筛选方法调用都会把新元素推入堆栈中。如果我们需要老的元素 集,可以使用 end() 从堆栈中弹出新集合。

    andSelf()

    andSelf() 方法把堆栈中之前的元素集添加到当前集合。

    jquery是链式操作,意味着可以通过jquery对象获取另外一个jquery对象,比如:
    var $div = $("div");
    var $img = $div.find("img")

    现在来解释你的问题
    当进行以上操作时,jquery会记录一个类似链的东西:
    $div -> $img
    这个链说明,$img是由$div而来的,“而来的”三个字意思是$img和$div里面的dom对象是没有任何dom树上面的关系的,他们仅仅是一个来源问题

    $img.andSelf()将查找该链的前一个对象并将前一个对象中的dom和当前对象中的dom合并,然后返回,相当于$("div,div img")

    $img.end()将查找该链的前一个对象并直接返回前一个对象,相当于$img.end()包含的dom集合和$div包含的dom集合相同
  • 相关阅读:
    T4 assembly
    HtmlPrefixScopeExtensions
    PetaPoco修改
    类属性赋值
    Microsoft Office 2007的ContentType
    年月日-正则
    Unity shader学习之逐顶点漫反射光照模型
    Unity3d之表情动画--眨眼
    shader之法线变换
    Unity之fragment shader中如何获得视口空间中的坐标
  • 原文地址:https://www.cnblogs.com/iceyhu/p/3479845.html
Copyright © 2011-2022 走看看