Javascript For循环无法正常运行
我正在尝试构建一个函数来更改innerHTML中具有一个类名但数字值不同的元素的值 例如: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
<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,没问题。这是可能发生的。顺便说一下,您应该在控制台上看到没有此类属性错误类型。