0

tr文字列からテーブルに s を追加しています。次のコードを使用して、innerHTML を使用してテーブル全体を記述します。次に、標準の DOM を使用して新しい部分を既存のテーブルに転送します。

var div = document.createElement("div");
div.innerHTML = "<table><tbody>" + string + "</tbody></table>";

CSS スタイリングを確認するまでは、次の単純な Javascript を使用しても問題ありません。これにより、各セクションが異なるtbody. CSS スタイリングが使用しているため、これは受け入れられません。:nth-child(odd)

document.getElementById("left").appendChild(div.firstChild.tBodies[0]);

したがって、コードをこれに変更しましたが、テーブルに 1 行おきに追加するだけです。私は何を間違えましたか?

var tableBody = div.firstChild.tBodies[0];
var appendToTable = document.getElementById("left").tBodies[0];

var totalnodes = tableBody.childNodes.length;

for (var thenodes = 0; thenodes < totalnodes; thenodes++) {
    appendToTable.appendChild(tableBody.childNodes[thenodes]);
}
4

1 に答える 1

3

childNodes はライブ ノード セットであるため、これを削除すると、他の要素はインデックスを下にシフトします。したがって、1行おきに取得することになります。

while (tableBody.childNodes.length) {
    appendToTable.appendChild(tableBody.childNodes[0]);
}
于 2013-03-05T03:42:44.013 に答える