我试图显示一个从集合中获取其值的输出。
这是代码。
对于显示两次的'schnapps'
,我设法获得了想要的输出。
但是对于'potato'
,我无法显示输出。
<tr>
<td>Schnapps Distillery</td>
<td class='inputText schnapps'></td>
<td>600 Farmers & Workers</td>
</tr>
<tr>
<td colspan="3">
<div class='inline'>
<div class='inline potato'></div><img class='smallLogos'
src='../images/potato.png' /> -->
<div class='inline schnapps'></div><img class='smallLogos'
src='../images/schnapps.png' />
</div>
</td>
</tr>
schnappsElement = document.getElementsByClassName("schnapps");
potatoElement = document.getElementsByClassName("potato");
//schnapps
for (i = 0; schnappsElement[i] != null; i++) {
schnappsElement[i].innerHTML = Math.ceil((Number(farmInput.value) + Number(workInput.value)) / 600);
}
potatoElement.innerHTML = schnappsElement[0].value;
JS中的两个命令都由我未包含的侦听器命令激活。 该命令起作用是因为我为Schnapps获得了正确的输出。
我想要的是让potatoElement
具有(并显示)与schnappsElement
相同的值。
答案 0 :(得分:0)
schnappsElement[0]
没有.value()
。请改用.innerHTML
。
此外,potatoElement
是一个数组-您需要将其用作potatoElement[0]
。
schnappsElement = document.getElementsByClassName("schnapps");
potatoElement = document.getElementsByClassName("potato");
//schnapps
for (i = 0; schnappsElement[i] != null; i++) {
schnappsElement[i].innerHTML = Math.ceil((Number(farmInput.value) + Number(workInput.value)) / 600);
}
potatoElement[0].innerHTML = schnappsElement[0].innerHTML;
或者您可以将它们都包含在循环中
schnappsElement = document.getElementsByClassName("schnapps");
potatoElement = document.getElementsByClassName("potato");
//schnapps
for (i = 0; schnappsElement[i] != null; i++) {
var value = Math.ceil((Number(farmInput.value) + Number(workInput.value)) / 600);
schnappsElement[i].innerHTML = value;
if (potatoElement[i]) { potatoElement[i].innerHTML = value }
};