2016-03-28 63 views
2

我需要通过一个数据阵列环和设定值对于每个div元素, 在线路脚本遍历阵列和用于DOM元素应用价值

$(".rate-circle").data('value', value); 

目前我这样做使用的代码下面,但是这种方法对我的元素设置的值,即35

var val = [55, 70, 88, 35];//, function (i, l) { 
      $("div").each(function() { 
       $.each(val, function (index, value) { 
        $(".rate-circle").data('value', value); 
        $(".rate-circle").rateCircle({ 
         size: $("#rate-circle-size").val(), 
         lineWidth: 4, 
         fontSize: $("#rate-circle-font-size").val(), 
        }); 

       }); 
      }); 

的最后一个元素推荐我要去哪里错了,我通过阵列需要循环,并获得价值,并设置相应的值每个元素

+1

'。数据()'将设置为所有匹配的元素数据... https://jsfiddle.net/rayon_1990/z2wtajud/ – Rayon

+0

@ rayon-dabre说了些什么。每次在内循环中使用'.data()'时,它会将每个div.rate-circle'data-value'属性设置为当前值。您可能想要提供有关问题的更多详细信息,例如您网页中的HTML示例。 – Greg

+1

https://jsfiddle.net/arunpjohny/LoLLp4jc/1/ –

回答

1

正如已经在评论中解释说,$(".rate-circle").data()将设置相同的值到所有rate-circle元素,而不是你需要做的的基于索引的分配

$(".rate-circle").each(function(idx) { 
    $(this).data('value', val[idx]); 
}).rateCircle({ 
    size: $("#rate-circle-size").val(), 
    lineWidth: 4, 
    fontSize: $("#rate-circle-font-size").val(), 
});