可以将以下代码缩短为“ForLoop”吗?

时间:2016-02-05 16:20:56

标签: javascript jquery

是否可以将以下代码缩短为“for循环”或任何类型?任何帮助将不胜感激。

$('#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);
});

2 个答案:

答案 0 :(得分:0)

类似的东西:

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

答案 1 :(得分: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());
   }
});