Reputation: 17383
I have an ul
element. now I would like to know how many of li
's have selected
class .
<ul class="icon-list icon-list-inline star-rating" id="star-rating">
<li class="selected"></li>
<li class=""></li>
<li class=""></li>
<li class=""></li>
<li class=""></li>
</ul>
var vote_selected = $('#star-rating ... ???').length;
it must return 1 .
Upvotes: 4
Views: 1059
Reputation: 607
Check this,
var vote_selected = $('#star-rating li.selected').length;
Upvotes: 1
Reputation: 191976
Use child selector with class:
var vote_selected = $('#star-rating > .selected').length;
alert(vote_selected);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="icon-list icon-list-inline star-rating" id="star-rating">
<li class="selected"></li>
<li class=""></li>
<li class=""></li>
<li class="selected"></li>
<li class=""></li>
</ul>
Upvotes: 6
Reputation: 18873
Try this :-
var vote_selected = $('#star-rating li[class="selected"]').length;
Or (as li
is immediate descendents of #star-rating
you can use >
).
var vote_selected = $('#star-rating > li[class="selected"]').length;
Or
var vote_selected = $('#star-rating > .selected').length;
Upvotes: 6
Reputation: 15555
alert($('#star-rating li.selected').length)//use selector li.selected
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="icon-list icon-list-inline star-rating" id="star-rating">
<li class="selected"></li>
<li class=""></li>
<li class=""></li>
<li class=""></li>
<li class=""></li>
</ul>
Use selector ex. li.classname
Upvotes: 1