Web Development

jQueryとJavaScriptによる効率的なテーブル行追加

Spread the love

HTMLテーブルに動的に行を追加することは、特にインタラクティブなユーザーインターフェースを構築する際に、Web開発において頻繁に求められる要件です。このチュートリアルでは、jQueryとプレーンなJavaScriptの両方を使用してこれを実現するための効率的な方法を示し、プロジェクトに最適なアプローチを選択できるようにします。

目次

jQueryのappend()prepend()を使ったテーブル行の追加

jQueryはDOMを操作するための簡潔で効率的な方法を提供します。そのappend()prepend()メソッドは、テーブル構造とシームレスに統合されます。

サンプルのHTMLテーブルを考えてみましょう。


<table id="myTable">
  <thead>
    <tr>
      <th>名前</th>
      <th>年齢</th>
    <tr>
  </thead>
  <tbody>
    <!-- 行はここに追加されます -->
  </tbody>
</table>

jQueryを使用して新しい行を追加するには:


// テーブルボディを取得
let $tableBody = $('#myTable tbody');

// 新しい行を作成
let $newRow = $('<tr>');

// セルを作成して追加
$newRow.append('<td>新しい名前</td>');
$newRow.append('<td>30</td>');

// 行をテーブルボディに追加
$tableBody.append($newRow); 

このコードスニペットは、テーブルボディを選択し、新しい行要素を作成し、データセルを追加し、完成した行をテーブルに追加します。先頭に追加する(先頭に追加する)には、$tableBody.prepend($newRow);を使用するだけです。

より複雑なシナリオや複数の行を追加する場合は、行のHTML文字列を直接構築する方が効率的です。


let newRowHTML = `<tr><td>別の名前</td><td>25</td></tr>`;
$tableBody.append(newRowHTML);

XSS脆弱性を防ぐために、ユーザー提供のデータをサニタイズすることを忘れないでください。

プレーンなJavaScriptを使ったテーブル行の追加

ネイティブJavaScriptアプローチを理解することで、DOM操作についてのより深い理解が得られます。より冗長ですが、外部の依存関係を回避します。


let tableBody = document.getElementById('myTable').querySelector('tbody');
let newRow = document.createElement('tr');
let nameCell = document.createElement('td');
let ageCell = document.createElement('td');

nameCell.textContent = 'さらに別の名前';
ageCell.textContent = '40';

newRow.appendChild(nameCell);
newRow.appendChild(ageCell);
tableBody.appendChild(newRow);

このコードは、標準的なJavaScriptメソッドを使用してDOMを直接操作します。プロジェクトのニーズとjQueryに対する習熟度に最適な方法を選択してください。jQueryの例を使用する場合は、jQueryライブラリを含めることを忘れないでください: <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

コメントを残す

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