Where is my chain right now?
jQuery provides the possibility to clone any jQuery selection object via:
var $some = $('#myID').parent().siblings(); var $new = $($some);
Well, as expected you can do the same cloning with any deferred jQuery chain:
var $some = $('#myID').wait(500).siblings().remove(); var $new = $($some);
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.