[英]How to append corresponding value to the corresponding dom element using for loop jquery
我尝试循环评级,并且将所有值显示到同一dom元素。 如何将其附加到相应的dom元素。
这是尝试的方法:
HTML:
<div class="rating" data-id="0"></div>
<div class="rating" data-id="2.5"></div>
<div class="rating" data-id="1.5"></div>
<div class="rating" data-id="3"></div>
<div class="rating" data-id="4.678"></div>
JS:
var ratingValue = "", rounded = "";
var ratingCon = $('.rating');
for(var i=0; i<ratingCon.length; i++){
ratingValue = $(ratingCon[i]).data("id"), rounded = (ratingValue | 0);
for (var j = 0; j < 5 ; j++) {
$(".rating").append('<i class="fa '+ ((j < rounded) ? "fa-star" : ((((ratingValue - j) > 0) && ((ratingValue - j) < 1)) ? "fa-star-half-o" : "fa-star-o")) +'" aria-hidden="true"></i>');
}
}
问题出在您的第二个for
循环中,您的调用$(".rating")
虽然选择所有具有className rating
元素最终只是在追加时使用了第一个.rating
元素。 如果将$(".rating")
更改$(".rating")
$(ratingCon[i])
,它将全部正常。 更新小提琴: https : //jsfiddle.net/32L669tv/12/ 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.