2017-02-14 140 views
-1

我正在嘗試構建一個函數,它可以在具有一個類名但不同數值的元素的innerHTML中更改值。For循環不會正常運行

爲:

<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

你在你的for循環有一個錯字

arr.lenght應該arr.length

+0

我覺得很蠢,謝謝! – Jousi

+0

請學習如何使用瀏覽器控制檯查看錯誤 –

+0

我正在使用它,沒有錯誤已經彈出 – Jousi