レイヤーAの中にレイヤーAとレイヤーBがあります
remove()
レイヤーBではなくレイヤーAだけをクリックするjQuery関数でレイヤーAを削除することは可能ですか?
レイヤーAの中にレイヤーAとレイヤーBがあります
remove()
レイヤーBではなくレイヤーAだけをクリックするjQuery関数でレイヤーAを削除することは可能ですか?
$("body").on("click", ".a1", function(e) {
if (this === e.target) $(this).remove();
});
.b1
残してそのまま削除したい場合.a1
$('.a1').live('click',function() {
$(".b1", this).unwrap();
});
子要素がわからない場合でも、その div を削除できます。
$('.a1').live('click',function() {
$(".a1 :first-child").unwrap();
});
.a1
これでクリックされていない場合にdivを削除する場合.b2
は、次のものが必要です。
$('.a1').live('click',function() {
$(".a1 :first-child").unwrap();
});
$('.b1').live('click',function() {
throw "stop execution";
});
.addClass()
@Rick Calder のコメントによると、必要に応じてクラスを変更したり.removeClass()
、クラスを削除したりできます。
質問の読み方は次のとおりです。
をクリックして.b1
も、何も起こらないはずです。クリックする.a1
と削除されるはずです。
それが目的なら、jQuery は次のとおりです。
$('.b1').click( function(e){
e.stopImmediatePropagation();
});
$('.a1').click( function(){
$(this).remove();
});
ここにjsbinがあります。注: css、html は @Vision の jsFiddle から厚かましく盗みました