javascript - How to detect if at least one list item has a class name - Stack Overflow

How to detect if at least one of the li.tst list items has a .count class and then display .msg divisio

How to detect if at least one of the li.tst list items has a .count class and then display .msg division ?

<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>

Examples:

Has count: true:

<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>

Has count: false:

<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>

Anyway to do that with Jquery ? I hope this I am not duplicating.

How to detect if at least one of the li.tst list items has a .count class and then display .msg division ?

<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>

Examples:

Has count: true:

<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>

Has count: false:

<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>

Anyway to do that with Jquery ? I hope this I am not duplicating.

Share Improve this question asked May 2, 2015 at 14:05 IsmailIsmail 7438 silver badges24 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 5

You can get all li that has class count, like so

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

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

and then check .length

Example

You can use .filter for this task

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

You can check the length of a collection to see if any elements where found

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

or if you want to toggle

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

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744725358a4590143.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信