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集合相同
  • 相关阅读:
    ASP.NET程序中常用的三十三种代码
    .NET面试题之1
    Assembly ‘X’ could not be uninstalled because it is required by another application
    Globalization and Localization
    SQL 2005 Reporting Services:物理分页和逻辑分页 SSRS 2008 report export to PDF Cannot get size to work
    GAC 学习
    Repeating Tablix Headers In SSRS 2008
    How do work with NULL in TSQL
    Visual C++ Native and .NET Interoperability
    C# WinForm开发系列 Reporting Services
  • 原文地址:https://www.cnblogs.com/iceyhu/p/3479845.html
Copyright © 2011-2022 走看看