Essentially the end method returns the result of the very first selector.
Andy matthews -----Original Message----- From: jquery-en@googlegroups.com [mailto:jquery...@googlegroups.com] On Behalf Of MorningZ Sent: Wednesday, April 22, 2009 1:06 PM To: jQuery (English) Subject: [jQuery] Re: Can you help me understand .end() ? Say you have the html of <div> <span>One</span> <span>Two</span> <span>Three</span> </div> and say: var $obj = $("div"); your jQuery object, $obj, will be just the <div> tag Now if you say var $obj = $("div").find("span"); that would first be an object representing the <div> and the ".find()" makes it be an object of the 3 <span> tags If the statement was (and granted this doesn't make sense, but just an example) var $obj = $("div").find("span").end(); that would be just the <div> tag again.... although walking through the selector, $obj would have been the <div>, then would have represented the "found" <span> tags, called ".end()" backs off the ".find()" and goes back to the div thinking of the chained command like a deck of cards helps :-) On Apr 22, 12:41 pm, JKippes <jessandthec...@gmail.com> wrote: > Please referencehttp://docs.jquery.com/How_jQuery_Works, the > Chainability segment. > > I'm confused on the given description of .end(): > > You can take this even further, by adding or removing elements from > the selection, modifying those elements and then reverting to the old > selection, for example: > $("a") > .filter(".clickme") > .click(function(){ > alert("You are now leaving the site."); > }) > .end() > > <a href="http://google.com/" class="clickme">I give a message when you > leave</a> > > Methods that modify the jQuery selection and can be undone with end(), > are the following: > > add(), > children(), > eq(), > filter(), > find(), > next(), > not(), > parent(), > parents(), > siblings() and > slice(). > > What does reverting and undone mean here? When I run the code, the > link click event runs the alert, I hit Ok, and it passes me to Google. > So the words reverting and undone confuse me, as I would take this to > mean the modified click event would be "undone" and never executed. > So what does .end() really do? A friend thinks it could be a chain > terminator, though he never uses it. Is it just a cleanup thing part > of good practice and not technically needed? > > Thanks for educating a real jQuery beginner.