我已经阅读这个网页
http://api.jquery.com/end/,但我仍然不知道什么.end()实际上。它是什么,你如何使用它?
我也读一本jQuery书,但它轻轻地釉过.end(),并没有给出任何例子。有人可以澄清吗?
解决方法
@H_404_8@$("body").find("span").css("border","2px red solid");
vs
@H_404_8@$("body").find("span").end().css("border","2px red solid");在这个确切的页面上,在Firebug控制台中单独执行这些语句,并注意行为的不同。基本上,.end()告诉它在找到所有跨度之后回到body,并将边框应用到body,而不是跨度。如果我们没有.end()在那里,jQuery代码基本上行为正常,并应用.css()到我们的span元素内的body。
@H_404_8@BODY > SPAN > APPLY BORDER TO SPANS与end()它变成
@H_404_8@BODY > SPAN > GO BACK TO BODY > APPLY BORDER TO BODYfind()是一个破坏性的操作,意味着它改变你的jquery对象数组中的元素。
@H_404_8@$('body')我们当前的元素是body
@H_404_8@$('body').find('span')我们使用了一个破坏性操作find(),它改变了我们整个对象集合,使用spans里面的body来填充,body不再在集合中
@H_404_8@$('body').find('span').end()因为find是一个“破坏性”操作,它会回到之前的.find(),基本上un-does或ctrl-Z是最后一个改变我们的jquery集合的东西。