所以我想传递一个变量:childage_error1 childage_error2 childage_error3等。这里有这样的代码:
for (var i = 0; i < gyermekek; i++) {
document.getElementById('gyermekkor_error' + (i + 1) + '').innerHTML = response.window['gyermekkor_error'+i+1]
}
如果我输入手动"gyermekkor_error1"它可以工作,但它不会在循环中工作。它工作在getElementById但不是最后。
response.window['gyermekkor_error'+i+1]
您正在将字符串添加到数字加上数字。从左到右的基本操作顺序。这段代码并没有假设你要先把i加到1。
所以你得到
'gyermekkor_error01'
'gyermekkor_error11'
'gyermekkor_error21'
'gyermekkor_error31'
需要用圆括号
括起加法部分response.window['gyermekkor_error' + (i+1)]
或者从1开始循环,这样就不需要添加步骤了。
for (var i = 1; i <= gyermekek; i++) {
var key = 'gyermekkor_error' + i;
document.getElementById(key).innerHTML = response.window[key];
}