JavaScriptでテーブル作成

1,2年前に、後で読もうと保存した資料があって
その後でが、つい先程訪れた。
その資料では、スクリプトによってテーブルを作成しており
しかもtbody、trなどcreateElementで作成していない。
結果的にはtbodyもtrも作成されてはいる。

//createElementでTABLEを作成
var elm_table           = document.createElement('table');
elm_table.style.cssText = 'width:300;height:200';

for(var i = 0; i < 5; i ++) {
    //これがtrの代わりらしい
    var o_row = elm_table.insertRow();

    //一つ目のセル作成
    var elm_cell_1          = o_row.insertCell();
    elm_cell_1.innerText    = i + ' 1';
    elm_cell_1.style.border = '1 solid #000';

    //二つ目のセル作成
    var elm_cell_2          = o_row.insertCell();
    elm_cell_2.innerText    = i + ' 2';
    elm_cell_2.style.border = '1 solid #000';
}
document.body.appendChild(elm_table);


で、こうなる↓


insertRow()でtr
insertCellでtdになるみたいで
それぞれappendChildは不要で
最後にtableをappendChildすればOKみたいだ。
bodyにtableタグだけを書いておけば
appendChildは使わずに済む。

追記

insertRow(0)にすると、1段目に作成される。
1だと2段目。
省略すると最後に追加される。
しかし、9とか10と数を多くして試してみると
予想と違う所に挿入されたりと、よくわからんな。
なんじゃこりゃ。

追記

他にも
deleteRow(5) //6段目を削除
moveRow(0, 3) //1段目を4段目に移動
などがあった。

追記

var td     = elm.insertCell();
td.colSpan = 2;

colSpan、rowSpanのsは大文字。

追記

なんか乞食臭い。
たぶん三日くらい風呂入ってないからだろうな。
や、三日じゃすまないかも。