1


0

Javascriptでhtmlテーブルから行を削除する最良の方法は何ですか?

Javascriptでhtmlテーブルから行を削除する最良の方法は何ですか? 要素 ''

colspanおよびrowspanをさらに1つ含む。 DOMの関数 `deleteRow()`はcolspansとrowspansを考慮しません。

2 Answer


1


テーブルの各行に同数のセルがなくなったため、テーブルが崩壊しているように見えます。 これは予想されることです。 影響を受けた行の欠落しているセルを置き換える必要があります。

Colspanは、削除される1つの行にすべて含まれているため、問題になりません。 ただし、Rowspanは他の行に影響を与えるため、次のようになります。

1)getElementsByTagNameを使用して、trノード(ドキュメントではない)からすべてのtd要素を取得し、それらをループしてgetAttributeでrowspan属性をチェックします

2)属性の1つが数値として返される場合、その多くの行から1を引いて、tdを考慮したrowspanがあるポイントにtdを挿入する必要があります。 + colspansも発生している場合は、これらを追跡して、tdが実際に含まれている列を特定する必要があります。 また、新しいtdを挿入するときに、次の行のcolspansに注意する必要があります。

3)次の行にコンテンツを再度追加する場合は、元のtdのinnerHTMLまたは子ノードを取得してメモリに保存する必要があります。行が削除されると、コンテンツも削除されます。

4)これを実行したら、最終的に行を削除しても安全です。


0


jQueryをロードした場合

$('tr#id_of_the_row').remove();