[英]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
}
但這似乎不起作用
謝謝
$('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.