奇怪的问题,但是我试图使一些代码正常工作,并且证明它很繁琐。
我只得到“无法读取null的属性'值'”,因为我尝试循环的元素在某些地方不存在。
for(i=1;i<boxCount4;i++){
var v1 = parseInt(document.getElementById('t0'+i).value,10);
}
例如,这里。例如,为了使boxcount最终成为....的值为20,但id仅转到t015。 (而其他所需的值最多为20,但使用相同的计数器)
无需做很多事情,有没有办法使它避免错误?如在..只是处理错误并计算,甚至只是将多数民众赞成在错误的值变成0直到完成?
我试图写
if(parseInt(document.getElementById('t0'+i).value,10) == null){...}
但似乎没有用。任何帮助表示赞赏!
答案 0 :(得分:-1)
您可以按照以下方式使用速记:
let elem = document.getElementById('t0' + i) || {value: 0}
当然,这是假设您仅将elem
用于访问属性值。
let boxCount4 = 5;
for (i = 1; i < boxCount4; i++) {
let elem = document.getElementById('t0' + i) || {value: 0};
var v1 = parseInt(elem.value, 10);
console.log(v1);
}
<input id="t01" value="45">
<input id="t02" value="65">