jQuery实例对象的end( )方法笔记
博客专区 > LM_Mike 的博客 > 博客详情
jQuery实例对象的end( )方法笔记
LM_Mike 发表于7个月前
jQuery实例对象的end( )方法笔记
  • 发表于 7个月前
  • 阅读 13
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

参考慕课网课程 http://www.imooc.com/code/3412

codePlayer博客 http://www.365mini.com/page/jquery-end.htm

> 大多数jQueryDOM遍历方法来错做jQuery对象实例,并创建一个新的对象,匹配一个不同的DOM元素集合。当发生这种情况时,实际上是新的元素集合被压入到对象内部维护的栈中。每次过滤方法都会被压入栈中。当我们需要返回到前一个状态时,我们可以使用end()进行出栈操作,来返回栈中的前一个状态

总的来说:end方法就是回溯到上一个Dom合集,对于链式操作与优化,这个方法还是很有意义的

> end()函数的返回值为jQuery类型,返回最近一次“破坏性”操作之前的jQuery对象。

> 只要调用jQuery对象的某个方法返回的是一个新创建的jQuery对象,则该操作被视为“过滤”或“破坏性”操作。

> jQuery对象的add()、addBack()、children()、closest()、contents()、eq()、filter()、find()、first()、has()、last()、map()、next()、nextAll()、nextUntil()、not()、parent()、parents()、parentsUntil()、prev()、pervAll()、prevUntil()、siblings()、slice()、clone()等方法均属于“破坏性”操作

例子1

var $p = $("p");  //这是一个破坏性操作,返回一个新的jQuery对象
var $span = $p.find("span");
console.log($span.end() === $p);  //true

例子2

$("#mydiv").find("span").end().css({color:"blue"});  
//链式操作,end()返回jQuery对象$("#mydiv")
共有 人打赏支持
粉丝 2
博文 217
码字总数 37930
×
LM_Mike
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: