for循环不能正常运行

时间:2017-02-14 15:01:07

标签: javascript for-loop

我正在尝试构建一个函数,该函数更改innerHTML中具有一个类名但数字值不同的元素的值。

如:

<div class="ingredient-assignment__quantity">5</div>
<div class="ingredient-assignment__quantity">300</div>
<div class="ingredient-assignment__quantity">250</div>

我希望计算(对所有人来说都相同),然后将每个的innerHTML更改为每个的结果。

如:

calcuation = 5 * innerHTML;
<div class="ingredient-assignment__quantity">25</div>
<div class="ingredient-assignment__quantity">1500</div>
<div class="ingredient-assignment__quantity">1250</div>

我的JS功能如下所示:

function ingredientChange (){


 var portionsBefore = document.getElementById('portions');
  var ingredients = document.getElementsByClassName('ingredient-assignment__quantity');

  function getPortions(event) {
    const getID = event.target.id;
    if (getID == "minus") {
      var y = Number(portionsBefore.innerHTML) - 1;
    }
    else {
      var y = Number(portionsBefore.innerHTML) + 1;
    }

    changeIngredients(y);
    portionsBefore.innerHTML = y;
  }

  function changeIngredients(y) {    
    var arr = Object.keys(ingredients).map((k) => ingredients[k])
    for(var i = 0; i < arr.lenght; i++){
      var changeValues = Number(arr[i].innerHTML) / Number(portionsBefore.innerHTML);
      var changedValues = Number(changeValues) * y;
    }
  }

  function addEventListeners () {
    document.getElementById('minus').addEventListener('click', getPortions, false);
    document.getElementById('plus').addEventListener('click', getPortions, false);
  }
  addEventListeners();
}

ingredientChange();

除了for循环之外的所有内容都可以正常工作。

我找不到,for循环

有什么问题

1 个答案:

答案 0 :(得分:1)

您的for循环

中有拼写错误

arr.lenght应为arr.length