JavaScript Tutorials

JavaScriptによる動的テーブル作成

Spread the love

JavaScriptを用いた動的なテーブル生成は、テーブル構造に対する比類のない柔軟性と制御を提供し、ユーザー入力や外部ソースから取得したデータに基づいた適応を可能にします。これは、静的なHTMLテーブルの限界を超えています。

目次

  1. HTMLテーブルタグ:簡単な復習
  2. JavaScriptによるテーブル作成
  3. 高度なテーブル操作テクニック

HTMLテーブルタグ:簡単な復習

JavaScriptに進む前に、テーブル作成に使用される基本的なHTMLタグを再確認しましょう。基本的なHTMLテーブルは、これらのコア要素で構成されています。

  • <table>:テーブル全体のコンテナ。
  • <tr>:テーブル行を定義します。
  • <th>:テーブルヘッダーセルを指定します(通常は太字で中央揃え)。
  • <td>:テーブルデータセルを表します。

簡単な例を示します。


<table>
  <tr>
    <th>名前</th>
    <th>年齢</th>
  </tr>
  <tr>
    <td>John Doe</td>
    <td>30</td>
  </tr>
</table>

JavaScriptによるテーブル作成

JavaScriptを使用すると、これらのHTML要素をプログラムで生成し、Document Object Model(DOM)を操作して、広範なHTMLを手動で記述することなく、行、列、データを追加できます。次の関数はこれを示しています。


function createTable(data, targetElementId) {
  const table = document.createElement('table');
  const headerRow = table.insertRow();

  //最初のオブジェクトのキーからヘッダー行を動的に作成
  const keys = Object.keys(data[0]);
  keys.forEach(key => {
    const headerCell = headerRow.insertCell();
    headerCell.textContent = key;
  });

  data.forEach(row => {
    const dataRow = table.insertRow();
    keys.forEach(key => {
      const dataCell = dataRow.insertCell();
      dataCell.textContent = row[key];
    });
  });

  document.getElementById(targetElementId).appendChild(table);
}

const myData = [
  { Name: "John Doe", Age: 30, City: "New York" },
  { Name: "Jane Smith", Age: 25, City: "London" },
  { Name: "Peter Jones", Age: 40, City: "Paris" }
];

createTable(myData, 'myTableContainer'); //HTMLにid="myTableContainer"を持つdivを指定してください

テーブルを追加するHTMLにid “myTableContainer”を持つdivを含めることを忘れないでください。

高度なテーブル操作テクニック

この基本的な例は大幅に拡張できます。次のような機能を組み込むことを検討してください。

  • スタイル設定:CSSを使用して外観をカスタマイズします(例:クラスまたはインラインスタイルを使用)。
  • イベント処理:ヘッダーをクリックして列をソートしたり、ユーザー入力に基づいて行をフィルタリングしたりするなど、インタラクティブ性を追加します。
  • ページネーション:ページにデータを表示することで、大規模なデータセットを処理します。
  • データソース:APIまたはデータベースからデータを取得して、テーブルに動的にデータを入力します。

HTML、CSS、JavaScriptを組み合わせることで、特定の要件に合わせて調整された、非常に動的で応答性の高いテーブルを作成できます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です