tr と tdの宣言をする場所を変えたらうまく動作しないのはなぜですか?

tr は weeks.forEach の中に、td は week.forEach の中に書く必要があります。
2021年6月20日
ユーザー

いつもありがとうございます。

 const tr = document.createElement('tr');

 const td = document.createElement('td');

を記入する位置について、教えていただきたいことがあります。

それぞれのコードを記入する位置を変えたら、カレンダーが正しく表示されなくなりました。
<tr><td> を作るコードのため、どの位置に記入してもよいと思ってしまったのですが、なぜ下記の位置でないといけないのでしょうか。
ご指導お願いいたします。

weeks.forEach(week=>{
        const tr = document.createElement('tr');
        week.forEach(date =>{
            const td = document.createElement('td');

            td.textContent = date.date;
            if(date.isToday){
                td.classList.add('today');
            }
            if(date.isDisabled){
                td.classList.add('disabled');
            }

            tr.appendChild(td);
        });
        document.querySelector('tbody').appendChild(tr);
    });

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

プレミアムプランとは?

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