簡體   English   中英

如何使用jQuery檢查子元素是否沒有類

[英]How to check if child element does not have a class using jQuery

我試圖弄清楚如何檢查父div是否具有沒有特定類的子p元素。

所以例如

    <div id="one" class="item">
        <p class="A"></p>
        <p class="B"></p>
        <p class="C"></p>
    </div>

    <div id="two" class="item">
        <p class="B"></p>
        <p class="C"></p>
    </div>

如果div沒有類“ A”的ap元素,我想隱藏該div。

我該怎么做?

我試過了:

if (jQuery(".item > p.A").length <= 0){
    //run code here
}

但這似乎不起作用

謝謝

您可以像這樣使用jQuery :has():not()

$('div:not(:has(p.A))').hide();

 $('div:not(:has(pA))').hide(); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> <div id="one" class="item"> <p class="A">A</p> <p class="B">B</p> <p class="C">C</p> </div> <div id="two" class="item"> <p class="B">B</p> <p class="C">C</p> </div> 

或者 ,您可以采用迭代方法

$('div').each(function() {
  if ($(this).has('p.A').length == 0) {
    $(this).hide();
  }
});

 $('div').each(function() { if ($(this).has('p.A').length == 0) { $(this).hide(); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> <div id="one" class="item"> <p class="A">A</p> <p class="B">B</p> <p class="C">C</p> </div> <div id="two" class="item"> <p class="B">B</p> <p class="C">C</p> </div> 

您的jQuery代碼應為:

if ($('.item p').hasClass('A')) {
  // statement
}

您也可以這樣做。 在我看來,這可以更好地描述您的工作,並且在您重新閱讀時會更容易。 小提琴: http//jsfiddle.net/ayxdm7y3/

if ($('div').children().hasClass("A")){
   console.log("yes");
}

暫無
暫無

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

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