【发布时间】:2021-07-07 09:06:48
【问题描述】:
谁能解释为什么我的 for 循环即使迭代 30 次(-10+20 = 30 次迭代),但在打印 innerHTML 时,它以 10x 未定义开始,然后从 -10 开始打印到 10而不是 -10 到 20?
循环开始和结束的值在外部js脚本中定义,document.getElementByID,稍后返回。也许tihs可以提供帮助。如果我
if (temperaturStart < 0){
for(var i= temperaturStart; i<= temperaturEnde; i++){
temperaturArray.push(i* 9/5 + 32)
var tbodyEL = document.querySelector("tbody");
tbodyEL.innerHTML +=
`
<tr>
<td id="${tSpalte}">${temperaturArray[i]}</td>
<td id="${dichteSpalte}">${dataArrayDichte[i]}</td>
<td id="${DynVisSpalte}">${dataArrayDynVis[i]}</td>
<td id="${wärmeleitSpalte}">${dataArrayWärmeleit[i]}</td>
<td id="${stoffSpalte}">${stoff}</td>
<td id="${einheitSpalte}">${einheit}</td>
</tr>
`
}
【问题讨论】:
-
你从文档中读取
temperaturStart后是否将其转换为数字? -
您尝试过什么解决问题的方法?你被困在哪里了?
-
@ChrisG 是的,我做到了。该值是从 html 输入中读取的。输入类型本身是数字,因此必须将其读取为数字。但只是为了确保我也用 parseInt(document.getElementByiID().value 进行了尝试。但它仍然不起作用,。
-
type="number"并不意味着你会从.value得到一个号码。但是 adiga 发现了一个明显的问题:您正在访问负数组索引。
标签: javascript html for-loop