0

我有一个名为 starRating 的 div,它显示 5 个灰色的星星。我得到了一个数字,基于该数字,我需要添加一个 CSS 类,将灰显的星形更改为彩色星形。这是我会在 for 循环或 .each 中完成的事情吗?

这是HTML:

<div id="starRating">
   <div class="jquery-ratings-star"></div>
   <div class="jquery-ratings-star"></div>
   <div class="jquery-ratings-star"></div>
   <div class="jquery-ratings-star"></div>
   <div class="jquery-ratings-star"></div>
</div>

这就是我一直在尝试做的事情。这似乎让我过于复杂了。

$('.jquery-ratings-star').each(
        function() {
           for (var i = 0; i < nbrStarsVoted; i++) {
           $(this).addClass('.jquery-ratings-full');
                        }
 });
4

2 回答 2

1

您可以像这样使用 Jquery:lt选择器:

$("#starRating").find('.jquery-ratings-star:lt(X)').addClass('star');

选择:lt器将选择所有索引低于 X 的元素,并给它们星号

于 2013-06-20T18:23:59.853 回答
1

就这么简单,

$('#starRating div:lt('+nbrStarsVoted+')').addClass('jquery-ratings-full');

http://jsfiddle.net/PdaQJ/

于 2013-06-20T18:28:34.780 回答