HTML直書きしないことを想定してtrごと回してみたバージョン
html
<table>
<thead>
<tr>
<td>項目1</td>
<td>項目2</td>
<td>項目3</td>
</tr>
</thead>
<tbody id="tbodyID">
<!-- ここをループ -->
</tbody>
</table>
javascript
<script>
/*ページ(DOM)読み込み後に実行*/
window.onload = function(){
//tbodyのIDを取得(この中で処理します)
var tbody = document.getElementById('tbodyID');
for (i = 0; i < 5; i++){
//tr エレメントを新規作成(ただ生成するだけ)
var tr = document.createElement('tr');
//列(td)用のループ
for (j = 0; j < 5; j++){
//tdエレメントをを生成
var td = document.createElement('td');
//tdの中に入れたいモノをセット
td.innerHTML = 'こんにちは' + j;
//生成したtdをtrにセット
tbody.appendChild(td);
}//列用のループ閉じ
//tr エレメントをtbody内に追加(ここではじめて表示される)
tbody.appendChild(tr);
}//行用のループ閉じ
};
</script>