jQuery API の detach( selector ) は、selectorにマッチした要素を削除するメソッド。要素に関連付けられているすべてのjQueryデータは保持し続ける。
要素に関連付けられているすべてのjQueryデータも削除したい場合は、remove( selector )を使う。
detach()のページに、removeとdetachの比較サンプルがある。
記述方法
jQuery( セレクター1 ) . detach( セレクター2 );
「セレクター1」及び「セレクター2」の両方にマッチする要素を削除する。
記述例
jQuery( '.jquery-sample' ) . detach( ':contains("サンプル")' );
クラス名が「jquery-sample」で、尚且つ、コンテンツに「サンプル」を含む要素を削除する。
実装例(サンプル)
- 項目1
- 項目2
- 項目3
- 項目4
- 項目5
実装例(サンプル)の動作について
「項目2を削除」ボタンをクリックすると、項目2を削除する。
「項目4を削除」ボタンをクリックすると、項目4を削除する。
実装例(サンプル)のソースコード
JavaScript
<script>
<!--
jQuery( function() {
jQuery( '#jquery-sample-detach-button-2' ) . click( function () {
jQuery( '#jquery-sample-detach-ul li' ) . detach( ':contains("2")' );
} );
jQuery( '#jquery-sample-detach-button-4' ) . click( function () {
jQuery( '#jquery-sample-detach-ul li' ) . detach( ':contains("4")' );
} );
} );
// -->
</script>
<!--
jQuery( function() {
jQuery( '#jquery-sample-detach-button-2' ) . click( function () {
jQuery( '#jquery-sample-detach-ul li' ) . detach( ':contains("2")' );
} );
jQuery( '#jquery-sample-detach-button-4' ) . click( function () {
jQuery( '#jquery-sample-detach-ul li' ) . detach( ':contains("4")' );
} );
} );
// -->
</script>
CSS
<style type="text/css">
<!--
#jquery-sample-detach {
width: 300px;
margin: 10px;
padding: 20px;
background-color: pink;
border: 1px solid gray;
border-radius: 10px;
}
-->
</style>
<!--
#jquery-sample-detach {
width: 300px;
margin: 10px;
padding: 20px;
background-color: pink;
border: 1px solid gray;
border-radius: 10px;
}
-->
</style>
HTML
<div id="jquery-sample-detach">
<p>
<button id="jquery-sample-detach-button-2">項目2を削除</button>
<button id="jquery-sample-detach-button-4">項目4を削除</button>
</p>
<ul id="jquery-sample-detach-ul">
<li>項目1</li>
<li>項目2</li>
<li>項目3</li>
<li>項目4</li>
<li>項目5</li>
</ul>
</div>
<p>
<button id="jquery-sample-detach-button-2">項目2を削除</button>
<button id="jquery-sample-detach-button-4">項目4を削除</button>
</p>
<ul id="jquery-sample-detach-ul">
<li>項目1</li>
<li>項目2</li>
<li>項目3</li>
<li>項目4</li>
<li>項目5</li>
</ul>
</div>