Javascript For循环无法正常运行

Javascript For循环无法正常运行,javascript,for-loop,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> 5 30

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

例如:

<div class="ingredient-assignment__quantity">5</div>
<div class="ingredient-assignment__quantity">300</div>
<div class="ingredient-assignment__quantity">250</div>
5
300
250
我想要一个计算(对所有人来说都是一样的)来运行所有这些内容,然后将每个内容的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>
calculation=5*innerHTML;
25
1500
1250
我的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();
函数IngreditChange(){
var portionsBefore=document.getElementById('partments');
var成分=document.getElementsByClassName('成分分配\数量');
函数(事件){
const getID=event.target.id;
if(getID==“减号”){
var y=Number(portionsBefore.innerHTML)-1;
}
否则{
var y=数字(portionsBefore.innerHTML)+1;
}
(y);
portionsBefore.innerHTML=y;
}
函数(y){
var arr=Object.keys(components.map)((k)=>components[k])
对于(变量i=0;i
除了
for
循环之外,其他一切都可以正常工作


我找不到,
for
循环有什么问题

您的
for
循环中有一个输入错误


arr.length
应该是
arr.length

@Jousi,没问题。这是可能发生的。顺便说一下,您应该在控制台上看到
没有此类属性
错误类型。