2022年2月9日解決済み

子要素を削除する方法として、innerHTML を使っても問題ありませんか?

ユーザー
const tbody = document.querySelector('tbody');
while (tbody.firstChild){
 tbody.removeChild(tbody.firstChild);
}

子要素を全て削除する際に、よく使われるテクニックとして本講義では上記のように記述していました。

while (tbody.lastChild){
 tbody.removeChild(tbody.lastChild);
}

ただ、上のように書き換えても問題なく動作したので、もっと効率的な書き方はないかと探したところ以下のような書き方もありました。

tbody.innerHTML = '';

ただこの書き方だと処理時間がかかってしまうようです。
innnerHTML の方が書き方も単純で処理も速そうに見えるので採用してしまいそうなのですが、こういったデメリットを自分では思いつけません。

なぜ、innnerHTML の方が処理速度が遅くなるのでしょうか?

スタッフ

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?