Where is my chain right now?
jQuery provides the possibility to clone any jQuery selection object via:
Now we have two jQuery objects with the same elements selected. The obvious difference between them is that they are now different JavaScript objects. Another difference is that $some.end() points to the parent of the element #myID while $new.end() doesn't.
Well, as expected you can do the same cloning with any deferred jQuery chain:
The big question is: What is the content of the jQuery object $new now?
To answer that question we need to know that $(deferredJQuery)
just clones the jQuery selection of the invocation chain in this very moment.
You can understand this like taking a snapshot. You then see which elements your chain is handling right now.
Now the answer: $new just points to the element #myID, because the siblings are selected half a second later.
But when we wait for a second and then call var $other = $($some)
then the new jQuery selection object $other points to the removed siblings of #myID.