mania-ku

何か作りたいプログラマ未満。

【jQuery】親要素を削除するunwrap()

下記のようなHTMLのときに、pをクリックしたら親のdivを消したいときはどうすればいいのでしょうか?

<div>
	<p>ここをクリックする</p>
</div>

remove()ではない

jQueryで削除と言えばremove()ですが、これでは子以下も削除してしまいます。

$('div p').click(function(){
	$(this).parent().remove(); //divとその中身が全て消えちゃう
});

unwrap()を使う

親要素だけを削除したい場合はどうすればいいのでしょうか?
jQuery1.4系以降だとunwrap()が使えます。

$('div p').click(function(){
	$(this).unwrap(); //divだけを消す
});

デモ

参考サイト

親要素のみ削除する方法[jQuery1.4系版] | THE HAM MEDIA BLOG

Pocket
LINEで送る