2016-03-28 35 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(), 
});