我一直在努力完成这件事。
我基本上有这个:
<div>
<p class="stars"></p>
</div>
<div>
<p class="stars"></p>
</div>
然后我有一个包含以下内容的数组:
var arr = [4,5];
接下来需要做的是:第一个p元素获得4,第二个元素获得5,依此类推(如果数组中有更多元素)。
我知道它应该用jQuery.each()来完成,虽然我似乎无法在单个变量中分离数组,然后在每个相应的p元素上打印它们。
修改 //基于下面接受的解决方案,我能够添加以下内容:
$('p').each(function() {
var numbr = parseFloat($(this).text());
var rstar = Array(numbr+1).join("★");
$(this).text(rstar);
});
我如何将这两个功能合并为一个?
答案 0 :(得分:4)
您可以使用.each()
函数迭代p元素并使用迭代索引i从数组中访问相关元素并将其设置为文本:
$('p').text(function(i,o){
return arr[i];
});
<强> Working Demo 强>
此外,问题的第二个(编辑部分)的小提琴: http://jsfiddle.net/gfyvL0uj/