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集合相同
  • 相关阅读:
    Python 之 编程中常见错误
    Python 列表(数组)初识
    Python 字符串处理
    QT学习笔记三 窗口类型
    C++ Primer第五版学习笔记十 引用与指针
    C++ Primer第五版学习笔记九 变量及初始化,声明和定义,作用域
    angularf封装echarts
    记录npm yarn安装遇到的问题
    网页中嵌入google地图
    og协议-有利于SNS网站分享
  • 原文地址:https://www.cnblogs.com/iceyhu/p/3479845.html
Copyright © 2011-2022 走看看