const tbody = document.querySelector('tbody');
while (tbody.firstChild) {
tbody.removeChild(tbody.firstChild);
}
こちらの文は、tbodyのfirstChildを削除して新規の月のみ表示させるためだと思うのですが、こちらをコメントにしてこの分の処理を無効にし、HTMLでのtbody内の挙動を確認したところ、tbody内に新規の月のtrが追加されていました。以下
<tbody>
<tr> // ← firstChild
<tr>
<tr>
<tr>
</tbody>
↓
<tbody>
<tr> // ← firstChild
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
</tbody>
私の認識ではchildNode = 最初の子ノードなので、こちらだとtbodyのfirstChildは印をしたところのみだと思っていました。
結果では、ひと月分のtrがfirstChildで削除されているので、今回のfirstChildがなぜひと月分のtrを含んでいるのかわかりません。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?