jQuery end()方法 by keneks

破坏性操作是当一个jQuery函数被使用在一个对象后造成此对象的结构变化。

举个例子:
var obj = $("body").find("p");
在 body 没有被使用 find 之前,对象 obj 包括 body 和 body 之内的所有元素
但 body 在被使用 find 之后,对象 obj 只包括 p 元素,原来的其它元素已不复存在,也就是说 原来的对象 obj 的结构被破坏,或者说被修改。

实例:
$("#blog").find("p.title").css({fontWeight: "bold"});

现在上面这行代码运行后剩下的是全部的 p,如果要继续对 $("#blog") 对象进行修改,例如设置 $("#blog") 的高度为200

$("#blog").find("p.title").css({fontWeight: "bold"}).css({height: 200}); // 错误,这样写会修改 p 的高度
$("#blog").find("p.title").css({fontWeight: "bold"}).end().css({height: 200}); // 正确
在破坏性操作之后可以使用 end() 来还原对象。

在一段代码声明后(;),jQuery会自动还原对象,破坏性操作只是在一段连贯的声明中起作用。
$("#blog").find("p.title").css({fontWeight: "bold"}); 
// jQuery 自动 end()
$("#blog").css({height: 200}); 
等同上面连在一起写的代码。
原文地址:https://www.cnblogs.com/mabelstyle/p/2637997.html