JavaScript を使用してテーブルの並べ替え機能を実装するにはどうすればよいですか?
現代の Web 開発では、テーブルはデータを表示する一般的な方法の 1 つです。テーブルの並べ替えは、ユーザーが関連データをすばやく見つけるのに役立つ重要な機能です。この記事では、JavaScript を使用してテーブルの並べ替え機能を実装する方法を学び、具体的なコード例を示します。
まず、データを含むテーブルが必要です。テーブルに「名前」、「年齢」、「市区町村」という 3 つの列があるとします。 HTML でテーブルを作成するコードは次のとおりです:
<table id="myTable"> <thead> <tr> <th>姓名</th> <th>年龄</th> <th>城市</th> </tr> </thead> <tbody> <tr> <td>张三</td> <td>25</td> <td>北京</td> </tr> <tr> <td>李四</td> <td>30</td> <td>上海</td> </tr> <tr> <td>王五</td> <td>22</td> <td>广州</td> </tr> <!-- 更多的数据行... --> </tbody> </table>
次に、JavaScript を使用してテーブルのソート機能を実装します。
まず、テーブルへの参照を取得する必要があります。 getElementById
メソッドを使用してテーブル要素を取得できます。
var table = document.getElementById("myTable");
次に、テーブルの各列にクリック イベントを追加する必要があります。ユーザーが列のヘッダーをクリックすると、並べ替え機能がトリガーされます。
var th = table.getElementsByTagName("th"); for (var i = 0; i < th.length; i++) { th[i].addEventListener("click", function() { sortTable(table, i); }); }
次に、並べ替え関数 sortTable
を実装しましょう。この関数は 2 つのパラメータを受け取ります。1 つはテーブル要素、もう 1 つは並べ替えられる列のインデックスです。
function sortTable(table, column) { var rows = Array.from(table.getElementsByTagName("tr")); rows.sort(function(a, b) { var cellA = a.getElementsByTagName("td")[column]; var cellB = b.getElementsByTagName("td")[column]; var valueA = cellA.innerText || cellA.textContent; var valueB = cellB.innerText || cellB.textContent; if (valueA < valueB) { return -1; } else if (valueA > valueB) { return 1; } else { return 0; } }); for (var i = 0; i < rows.length; i++) { table.appendChild(rows[i]); } }
この並べ替え関数では、まず Array.from
メソッドを使用して、HTMLCollection
型のテーブル行を配列に変換します。次に、sort
メソッドを使用して配列を並べ替えます。並べ替え操作では、innerText
または textContent
属性を使用して、テーブル セルのテキスト コンテンツを取得し、それを比較します。最後に、並べ替えた行をテーブルに戻して並べ替えを完了します。
完全なサンプル コードは次のとおりです:
表格排序示例 <script> function sortTable(table, column) { var rows = Array.from(table.getElementsByTagName("tr")); rows.sort(function(a, b) { var cellA = a.getElementsByTagName("td")[column]; var cellB = b.getElementsByTagName("td")[column]; var valueA = cellA.innerText || cellA.textContent; var valueB = cellB.innerText || cellB.textContent; if (valueA < valueB) { return -1; } else if (valueA > valueB) { return 1; } else { return 0; } }); for (var i = 0; i < rows.length; i++) { table.appendChild(rows[i]); } } window.onload = function() { var table = document.getElementById("myTable"); var th = table.getElementsByTagName("th"); for (var i = 0; i < th.length; i++) { th[i].addEventListener("click", function() { sortTable(table, i); }); } }; </script>
姓名 | 年龄 | 城市 |
---|---|---|
张三 | 25 | 北京 |
李四 | 30 | 上海 |
王五 | 22 | 广州 |
上記のコード例を通じて、次のことを学びました。 JavaScriptを使用してテーブルソート機能を実装する方法。テーブルのヘッダーにクリック イベントを追加し、イベント ハンドラーで並べ替え関数を呼び出すことで、さまざまな列に従って並べ替える機能を実装できます。このようにして、ユーザーはテーブルを簡単に並べ替えて、目的のデータをより速く見つけることができます。この記事があなたのお役に立てれば幸いです、読んでいただきありがとうございます!
以上がJavaScriptを使用してテーブルソート機能を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。