jQuery 中的 end 方法

如有错误,欢迎批评指正!

jQuery 中的 end 方法,我从 stackoverflow 上的一个回答开始讲:

原文链接: What does the .end() function do in jQuery?

--------------------------------------------------

$("body").find("span").css("border", "2px red solid");

vs

$("body").find("span").end().css("border", "2px red solid");

首先,观察上面两个东西。

第一句,选择器选择body元素,再遍历其后代,找到所有span元素。最后,给这些span元素设置border。

第二句,选择器选择body元素,再遍历其后代,找到所有span元素。回退到body元素。最后,给body元素设置border。

--------------------------------------------------

stackoverflow上高赞老哥的要点如下:

  • find 方法是一种破坏性的操作(改变了 jQuery objects array 中保存的 element,原来是 body,现在变成了 span)
  • end 方法类似于我们在写 word 时的 ctrl-Z 操作,可以将 jQuery object array 中的 element 回退至破坏性操作之前
  • 额外一点:jQuery 的遍历方法都是破坏性操作

总结起来,就是 body 》 span 》back to body 》set border 

--------------------------------------------------

jQuery object array(jQuery 对象数组 / 对象栈):

  • 这个玩意儿,在一些网站中,是这么描述的:jQuery 在其内部维护一个叫做 jQuery 对象栈 的东西。这个栈中保存 jQuery 对象,而这些对象都有 3 个属性:context(上下文)、selector(选择器)、prevObject(前一个 jQuery 对象的 reference)。
  • jQuery 为我们操作这个玩意儿,提供了两个方法:(1)end 方法 (2)andSelf 方法

--------------------------------------------------

参考网址:

  1. 链接-1

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值