回答:
<th>
行をaに保持し<thead>
、他の行をa <tbody>
に保持し<tbody>
てから、を新しい空の行に置き換えます。
すなわち
var new_tbody = document.createElement('tbody');
populate_with_new_rows(new_tbody);
old_tbody.parentNode.replaceChild(new_tbody, old_tbody)
document.getElementById('tbody').innerHTML = '';
これはすべての行を削除します:
$("#table_of_items tr").remove();
$("tbody#id tr").remove()
非常に粗雑ですが、これでも機能します。
var Table = document.getElementById("mytable");
Table.innerHTML = "";
<th>
入れ子にした場合に行われます<thead>
。これはおそらく、とにかくテーブルを構築するための最も構文的に正しい方法です。
var bodyRef = document.getElementById('myTable').getElementsByTagName('tbody')[0];
bodyRef.innerHTML = '';
これは古い質問ですが、最近同様の問題が発生しました。
私はそれを解決するためにこのコードを書きました:
var elmtTable = document.getElementById('TABLE_ID_HERE');
var tableRows = elmtTable.getElementsByTagName('tr');
var rowCount = tableRows.length;
for (var x=rowCount-1; x>0; x--) {
elmtTable.removeChild(tableRows[x]);
}
最初の行を除くすべての行が削除されます。
乾杯!
よくある間違いに気をつけてください:
開始インデックスが0(または最初からのインデックス)の場合、正しいコードは次のとおりです。
var tableHeaderRowCount = 1;
var table = document.getElementById('WRITE_YOUR_HTML_TABLE_NAME_HERE');
var rowCount = table.rows.length;
for (var i = tableHeaderRowCount; i < rowCount; i++) {
table.deleteRow(tableHeaderRowCount);
}
ノート
1. deleteRowの引数が修正されまし
た。行を削除すると行数が減少するため、これは必須です。
すなわち; 私が(rows.length-1)に達するまでに、またはその行がすでに削除される前であっても、エラー/例外(または無音)が発生します。
2.
「count.rows.length」を削除すると変更が続くため、forCount が開始する前にrowCountが取得されるため、奇数行または偶数行のみが削除されるという問題が発生します。
お役に立てば幸いです。
型だけで参照できるようにテーブルが1つしかないと仮定します。ヘッダーを削除したくない場合:
$("tbody").children().remove()
さもないと:
$("table").children().remove()
それが役に立てば幸い!
tbodyタグにいくつかのIDを割り当てます。すなわち。この後、次の行でテーブルのヘッダー/フッターが保持され、すべての行が削除されます。
document.getElementById("yourID").innerHTML="";
また、テーブル全体(ヘッダー/行/フッター)を消去する場合は、テーブルレベルでIDを設定します。
削除th
したくない場合は、内部の行を削除するだけで十分です。
var tb = document.getElementById('tableId');
while(tb.rows.length > 1) {
tb.deleteRow(1);
}
<th>
非行よりも<th>
行数がはるかに少ない場合は、すべての<th>
行を1つの文字列にまとめ、テーブル全体を削除してから、<table>thstring</table>
以前のテーブルがあった場所に書き込むことができます。
編集:明らかに、「thstring」は<th>
sのすべての行のhtmlです。
<th>
sをDOM要素として収集し、テーブルのinnerHTMLをクリアして<th>
から、sを再びそれに追加します。
これは、ヘッダー行(最初の行)を削除せずに、これを解決するために書いた単純なコードです。
var Tbl = document.getElementById('tblId');
while(Tbl.childNodes.length>2){Tbl.removeChild(Tbl.lastChild);}
それがあなたのために働くことを願っています!!。
removeChild
はなく、メソッドは単一のDOM要素のみを取ります。