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

.detach() – jQuery API

登録日 : 2012年11月12日 最終更新日 : 2012年11月12日

同じカテゴリー(Manipulation)のエントリー

検索

スポンサードリンク

バージョン

リファレンス