2 つの異なる JavaScript データ配列から 2 つの HTML テーブルを構築しようとしています。
最初のテーブルはうまく構築されており、構造も素晴らしく見えますが、2 番目のテーブルにはデータが入力されていません。
名前を調整しようとしましたが、どちらも「tbody」を探しているためだと思います。
これを調整する別の変数はありますか、それとも 2 つの異なるデータ配列から 2 つの別々のテーブルを取得するより良い方法はありますか?
名前を交換し、変更を加えずに ID タグを tbody に追加しました。当初はデータテーブルの名前を変更するつもりでしたが、tbodyを取得する2番目のテーブルの構築により、最初のtbodyのサイズが変更されるだけのようです。
<div style="float: left;margin-right:10px"> <テーブル> <頭> <tr align="center"> <th><h3>名前</h3></th>時刻
温度
</tr> </頭> <tbody id="tbody"></tbody> </テーブル> </div> <スクリプト> 定数データ = [ {名前: "リンゴ"、時間: "25秒"、温度: "100°F"、皮むき: "ピーラー"}、 {名前: "オレンジ"、時間: "50秒"、温度: "200°F"、皮をむく: "ナイフ"}、 ] const table = document.querySelector('tbody') data.forEach((項目) => { table.insertAdjacentHTML( 'beforeend', `<tr> <td>${item.name}</td> <td>${item.time}</td> <td>${item.temp} </td> <td>${item.peel}</td> </tr>`) }) </スクリプト> <div style="float: left"> <テーブル> <頭> <tr align="center"> <th><h3>名前</h3></th> 皮をむきます
時刻
温度
</tr> </頭> <tbody></tbody> </テーブル> </div> <スクリプト> <スクリプト> 定数データ = [ {名前: "リンゴ"、時間: "25秒"、温度: "100°F"、皮むき: "ピーラー"}、 {名前: "オレンジ"、時間: "50秒"、温度: "200°F"、皮をむく: "ナイフ"}、 ] const table = document.querySelector('tbody') data.forEach((項目) => { table.insertAdjacentHTML( 'beforeend', `<tr> <td>${item.name}</td> <td>${item.time}</td> <td>${item.temp}</td> <td>${item.peel}</td> </tr>`) }) </script> 皮をむきます
あなたのコードにはいくつかの問題があります。 最初の
<script>
タグでdata
とtable
を定数として宣言し、2 番目の<script>
を使用しようとしています。タグを使用して値を再評価します。 (定数変数は再割り当てできません)。 さらに、document.querySelector('tbody')
は常に、ページ上で見つかった最初の<tbody>
要素を選択します。これにより、同じテーブルが 2 回選択されることになります。行の作成を関数に抽出し、両方の tbody 要素に一意の ID を与えて区別することを検討してください。