createDocumentFragment は、for ループで要素を 1 つずつ DOM に追加するよりもはるかに高速であることを読みました。たとえば、hereを参照してください。
私がしたいこと:
- ドキュメント フラグメントにテーブル列を作成します。この列には、配列からの数値が含まれている必要があります (「評価」など)。
- その後、既存の列を新しい列 (「フラグメント」列) に置き換えたいと考えています。そのため、列全体を一度に DOM に入れることができます。
私の問題:
既存の列がある場合、既存の列を置き換える方法が本当にわかりません。一方、追加は問題ありません。
私の JSfiddle: http://jsfiddle.net/LEqG9/2/
HTML
<table id = "table">
<tr>
<th>Name</th>
<th>Rating</th>
</tr>
<tr>
<td>A.H.Hattray </td>
<td id = "row0"></td>
</tr>
<tr>
<td>Icke_eben </td>
<td id = "row1"></td>
</tr>
<tr>
<td>John_Doe123 </td>
<td id = "row2"></td>
</tr>
</table>
Javascript
var rating = [1, 10, 3];
var fragment = document.createDocumentFragment();
for (var i = 0, len = rating.length; i < len; i++){
var element = document.createElement('tr');
element.innerHTML = rating[i];
fragment.appendChild(element);
}
document.getElementById('table').appendChild(fragment); //I know here should be the code to replace the second column!