remove() vs. detatch()

According to the docs:

The .detach() method is the same as .remove(), except that .detach() keeps all jQuery data associated with the removed elements. This method is useful when removed elements are to be reinserted into the DOM at a later time.

As a very interesting side note, when you call $someDiv.html() with a param passed in, jQuery will call .empty() under the hood before it replaces the html. empty() will remove all data and handlers from the markup that was in $someDiv.