簡體   English   中英

jQuery的不選擇器不能在子元素上工作?

[英]Jquery not selector not working on child element?

$(document).on('click', '#ul li:not(.info)', function(){

    alert();
});

我的HTML是這樣的

<ul id="ul">
<li></li>
<li><a href="#" class="info"></li>
</ul>

為什么當我單擊.info時仍然觸發?

因為您的HTML在<a>后代而不是<li>本身上定義了.info類,而選擇器表示:not(.info) ,這意味着<li>沒有.info類。

嘗試以下方法:

$(document).on('click', '#ul li:not(:has(.info))', function(){
    alert();
});

或者,您可以簡單地將.info類移動到<li>本身:

<li class="info"><a href="#"></li>

參見jQuery的hasFiddle

你能做到這一點並嘗試

$(document).on('click', '#ul li a:not(.info)', function(){

    alert();
});

#ul li:not(.info)在li中查找不是info的類

#ul li a:not(.info) will give you the right result

的jsfiddle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM