如何使用jquery将click事件绑定到元素还没有特定的子节点?

时间:2016-08-05 16:22:39

标签: javascript jquery html click

我在页面上有几个元素,如底部代码。

<div>
   <a href="#" id="notme">click</a>
   some content 
</div>

可以点击它们,jQuery选择点击。但是,其中一个元素具有单击的a链接不应该被选为父元素的单击。

$('div:not(#notme)').on('click', function(e) {
    // do something
});

似乎没有因某种原因而工作......

3 个答案:

答案 0 :(得分:0)

您可以尝试:

$('div').on('click', function(e) {
  if($(e.target).attr("id") !== "notme") {
    // do something
  }
});

答案 1 :(得分:0)

$('#notme').on('click', function(e) {
  e.stopPropagation();
});

答案 2 :(得分:0)

使用:has选择器选择div元素具有特定子元素。在:has中使用:not

$("div:has(a:not(#notme))").on("click", function(e) {
    console.log("clicked");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
   <a href="#" id="notme">click</a>
   some content 
</div>
<div>
   <a href="#" >click2</a>
   some content 2
</div>