我在 A 层内有 A 层和 B 层
remove()
是否可以通过仅单击 A 层而不是 B 层的 jQuery 函数来删除 A层?
$("body").on("click", ".a1", function(e) {
if (this === e.target) $(this).remove();
});
演示:http: //jsfiddle.net/PhZhY/1/
如果你想.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";
});
根据@Rick Calder 的评论:如果您愿意,可以使用.addClass()
更改类或.removeClass()
删除类。
这是我阅读问题的方式:
如果单击.b1
,则不会发生任何事情。如果你点击.a1
它应该被删除。
如果这是意图,这里是 jQuery:
$('.b1').click( function(e){
e.stopImmediatePropagation();
});
$('.a1').click( function(){
$(this).remove();
});
这是一个jsbin。注意:从@Vision 的 jsFiddle 无耻地窃取 css、html