$(document).on('click', '#ul li:not(.info)', function(){
alert();
});
我的HTML就像这样
<ul id="ul">
<li></li>
<li><a href="#" class="info"></li>
</ul>
为什么当我点击.info?
时它仍会触发答案 0 :(得分:1)
因为您的HTML在.info
后代而不是<a>
本身定义了<li>
类,而您的选择器表示:not(.info)
,这意味着<li>
不是拥有.info
类。
请改为尝试:
$(document).on('click', '#ul li:not(:has(.info))', function(){
alert();
});
或者,您只需将.info
课程移至<li>
本身:
<li class="info"><a href="#"></li>
答案 1 :(得分:0)
你能做到这一点并尝试
$(document).on('click', '#ul li a:not(.info)', function(){
alert();
});
答案 2 :(得分:0)