答案 0 :(得分:3)
$("body").on("click", ".a1", function(e) {
if (this === e.target) $(this).remove();
});
答案 1 :(得分:2)
如果您希望.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()
删除课程。
答案 2 :(得分:0)
以下是我如何阅读问题:
如果点击.b1
,则不会发生任何事情。如果您点击.a1
,则应将其删除。
如果这是意图,这里是jQuery:
$('.b1').click( function(e){
e.stopImmediatePropagation();
});
$('.a1').click( function(){
$(this).remove();
});
这是一个jsbin。注意:css,html无耻地从@ Vision的jsFiddle中偷走了