detach()
detach()は要素に関連付けられたデータ(イベントなど)を残したままDOM上より削除するメソッドです。
次のようなHTMLがあったとします。
<div><h1>header</h1></div>
detach()で一度、DOM上より削除した後に再度DOM上に挿入します。
var h1 = $("h1").on("click",function(){
alert("ok")
}).detach();
setTimeout(function(){
$("div").html(h1);
},4000);
そうすると最初に指定していたclickイベントを保持したままHTML上に再挿入されます。remove()ではイベント等のデータも削除されてしまいます。
関連データがメモリ上に残りますので、完全に削除したい場合はremove()を一時的に削除したい場合はdetach()を利用するとよいでしょう。
jQuery 1.4.0での追加/変更detach()はjQuery1.4.0で追加されたメソッドです。
参考URL
登録日 : 2012年11月12日 最終更新日 : 2012年11月12日