2016-02-05 55 views
0

是否可以將以下代碼縮短爲「for循環」或其他任何類型?任何幫助將不勝感激。下面的代碼可以縮短爲「ForLoop」嗎?

$('#submit').click(function(){ 
    var barOneValue = $('.barOne-value').val(); 
    var barTwoValue = $('.barTwo-value').val(); 
    var barThreeValue = $('.barThree-value').val(); 
    var barFourValue = $('.barFour-value').val(); 
    var barFiveValue = $('.barFive-value').val(); 
    $('.barOne').attr('percentValue', barOneValue); 
    $('.barTwo').attr('percentValue', barTwoValue); 
    $('.barThree').attr('percentValue', barThreeValue); 
    $('.barFour').attr('percentValue', barFourValue); 
    $('.barFive').attr('percentValue', barFiveValue); 
}); 
+0

是:如果您將類重命名爲使用整數值(「.bar1」而不是「barOne」) – Draco18s

+1

..或使用普通的類並遍歷索引。 –

+0

或使用不同的選擇器。你可以做一個小函數來將1轉換爲'One'等,並在你的循環中使用它。 – Twisty

回答

0

正如我在評論中提到的,你可以做一個函數的幫助:

function int2Word(i){ 
    var map = ["Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]; 
    return map[i]; 
} 

然後進行循環:

$('#submit').click(function(){ 
    for(var i = 1; i < 6; i++){ 
    $('.bar' + int2Word(i)).attr('percentValue', $('.bar' + int2Word(i) + '-value').val()); 
    } 
}); 
+1

謝謝。感謝他的時間。 – MegaTron

+0

很高興它有幫助! – Twisty

0

喜歡的東西:

['One', 'Two', 'Three', 'Four', 'Five'].forEach(function(item) { 
    $('.bar' + item).attr('percentValue', $('.bar'+ item +'-value').val()); 
});