簡體   English   中英

Jquery hide() 具有特定 class 的所有元素,但具有特定父元素的元素除外

[英]Jquery hide() all elements with certain class except one with certain parent

我的問題與此類似: Jquery hide() all elements with certain class except one 但是在我的情況下,我有一個特定的父母。

我試過了:

$('.slideNum').hide();
$('#marginRight ul li.selBar.slideNum').show();

不應隱藏以selBar作為父級的slideNum ,但確實如此!

與流行的答案不同,我沒有使用“不”,因為條件是針對父級而不是針對元素本身。

您可以在非過濾器( https://api.jquery.com/not/ )中使用 function ,如下所示:

   $('.slideNum').not(function () {
        return $(this).parent(".selBar").length !== 0;
    }).hide();

您可以使用not()通過將父級用作選擇器的一部分來過濾掉

 $('.slideNum').not('.selBar *').hide();
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="slideNum">Should be hidden</div> <div class="selBar"> <div class="slideNum">Should be visible</div> </div>

暫無
暫無

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

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