Differences between detach(), hide() and remove() - jQuery
hide() sets the matched elements' CSS display property to none.
remove() removes the matched elements from the DOM completely.
detach() is like remove(), but keeps the stored data and events associated with the matched elements.
var span = $('span').detach();
...
span.appendTo('body');