在每个对应元素中打印数组

时间:2015-07-27 13:11:48

标签: jquery arrays

我一直在努力完成这件事。

我基本上有这个:

<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);
});

我如何将这两个功能合并为一个?

JS Fiddle

1 个答案:

答案 0 :(得分:4)

您可以使用.each()函数迭代p元素并使用迭代索引i从数组中访问相关元素并将其设置为文本:

$('p').text(function(i,o){
  return arr[i];
});

<强> Working Demo

此外,问题的第二个(编辑部分)的小提琴: http://jsfiddle.net/gfyvL0uj/