2017-02-14 6 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 기능은 다음과 같습니다 :

에서와 for 루프를 제외하고

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

내가 찾을 수 없습니다,

arr.lenghtarr.length해야한다.

+0

나는 어리 석을 느낍니다. 감사합니다! – Jousi

+0

브라우저 콘솔을 사용하여 오류를 확인하는 방법을 알아보십시오 –

+0

오류가 없습니다. – Jousi

관련 문제