Пытаюсь так, но уже в четвертой строке ошибка
for (i = 1; i < 10; i++)
{
var tr = new Array();
var tr[i] = document.createElement('tr');
tr[i].id = 'tr' + i;
var td1 = new Array();
var td2 = new Array();
var td3 = new Array();
var td1[i] = document.createElement('td');
var td2[i] = document.createElement('td');
var td3[i] = document.createElement('td');
document.getElementById('stat').appendChild(tr[i]);
td1[i].innerHTML='1';
document.getElementById('tr' + i).appendChild(td1[i]);
td2[i].innerHTML='2';
document.getElementById('tr' + i).appendChild(td2[i]);
td3[i].innerHTML='3';
document.getElementById('tr' + i).appendChild(td3[i]);
}
UPD
for (i = 0; i < 10; i++)
{
var tr = document.createElement('tr');
tr.id = 'tr' + 1;
var td1 = document.createElement('td');
var td2 = document.createElement('td');
document.getElementById('stat').appendChild(tr);
td1.innerHTML = "1";
document.getElementById('tr' + i).appendChild(td1);
td2.innerHTML = "2";
document.getElementById('tr' + i).appendChild(td2);
}
Не стоит использовать createElement в цикле, это очень тяжёлая операция. Не стоит собирать строку в цикле добавлением текста в конец строки, по сравнению с добавлением элемента в массив, это тоже дорогая операция. Поэтому лучше собрать фрагменты текста в массив и выполнить join:
var tableArr=['<table>'];
for (i = 1; i < 10; i++){
tableArr.push('<tr><td>'+i+'</td></tr>');
}
tableArr.push('</table>');
document.getElementById('stat').innerHTML=tableArr.join('\n')
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники