2015-05-02 58 views
1

如何檢測至少有一個li.tst列表項是否有.count類,然後顯示.msg除法?如何檢測至少有一個列表項是否有類名

<ul> 
    <li class="tst 1 na">li</li> 
    <li class="tst 2 na">li</li> 
    <li class="tst 3 count">li count</li> 
    <li class="tst 4 na">li</li> 
</ul> 
<div class="msg" style="display: none;">has count</div> 

例子:

擁有數:真:

<ul> 
    <li class="tst 1 count">li</li> 
    <li class="tst 2 na">li</li> 
    <li class="tst 3 count">li count</li> 
    <li class="tst 4 na">li</li> 
</ul> 
<div class="msg" style="display: block;">has count</div> 

擁有數:假:

<ul> 
    <li class="tst 1 na">li</li> 
    <li class="tst 2 na">li</li> 
    <li class="tst 3 na">li count</li> 
    <li class="tst 4 na">li</li> 
</ul> 
<div class="msg" style="display: none;">has count</div> 

反正這樣做與jQuery?我希望這不是重複。

回答

4

你可以得到所有licount類,像這樣

var $msg = $('.msg'); 

if ($('ul > li.count').length) { 
    $msg.show();  
} else { 
    $msg.hide(); 
} 

,然後檢查.length

Example

+1

謝謝亞歷山大!允許時接受你的答案。 –

1

您可以檢查一個集合的長度,看是否有元素,其中,找到

if ($('.count').length > 0) { 
    $('.msg').show(); 
} 

,或者如果你想切換

$('.msg').toggle($('.count').length > 0); 
+0

非常感謝adeneo!讚賞:) –

2

您可以使用.filter此任務

var count = $('ul li').filter(function(){return $(this).hasClass("count");}); 
if(count.length) 
    $('.msg').show(); 
+0

謝謝erkaner :)! –

+1

@samuel我希望它表現出不同的視角:) – renakre

相關問題