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

innerHTML は注意して使用すべきですが、空文字列を代入するだけであれば安全です。
2022年2月8日
ユーザー
const tbody = document.querySelector('tbody');
while (tbody.firstChild){
 tbody.removeChild(tbody.firstChild);
}

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

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

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

tbody.innerHTML = '';

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

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

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

プレミアムプランとは?

このレッスンの質問と回答(10)