我有两个" Div",类 .bb &的 .ll
我想点击 .bb 而不是 .ll 来显示提醒('确定');
HTML:
<div class="bb" style="width:500px;height:500px; background:#f00;">
<div class="ll" style="width:200px;height:200px; background:#0f0;">
</div>
</div>
jquery的:
$(".bb").not('.ll').click(function() {
alert("ok");
});
我的代码链接: http://jsfiddle.net/juornp65/
我尝试使用:not(),但它不起作用。
答案 0 :(得分:1)
使用 e.target 获取当前的目标元素,并使用is()
检查.ll
元素
$(".bb").click(function (e) {
if (!$(e.target).is('.ll')) {
alert("ok");
}
});
<强> DEMO 强>
注意:$(".bb").not('.ll')
它会过滤.li
而不是孩子
答案 1 :(得分:0)
一种方法是这样做:
$("div").click(function(e) {
e.stopPropagation();
if($(this).hasClass('bb')) {
alert("ok");
}
});
编辑:如果有多个类名,最好使用@ AmmarCSE的answer hasClass()
。
答案 2 :(得分:0)
使用event.target
,检查它是否包含hasClass()
$(".bb").click(function(e) {
if (!$(e.target).hasClass('ll')) {
alert("ok");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<div class="bb" style="width:500px;height:500px; background:#f00;">
<div class="ll" style="width:200px;height:200px; background:#0f0;">
</div>
</div>