ホームページ >ウェブフロントエンド >フロントエンドQ&A >JavaScriptでテーブルを書く方法
フロントエンド開発では、テーブルは最も一般的な要素の 1 つです。 JavaScript を使用するとテーブルを動的に生成できるため、テーブルの制御と操作が容易になります。ここでは、JavaScript テーブルをより適切に作成するのに役立つ一般的な方法とテクニックをいくつか紹介します。
テーブルは、HTML タグ f5d188ed2c074f8b944552db028f98a1、ae20bdd317918ca68efdc799512a9b39、92cee25da80fac49f6fb6eec5fd2c22a、06669983c3badb677f993a8c29d18845 で構成されます。 、a34de1251f0d9fe1e645927f19a896e8、b4d429308760b6c2d20d6300079ed38e、b6c5a531a458a2e790c1fd6421739d1c。動的にテーブルを作成したい場合は、これらのタグを追加してテーブルを生成できます。
以下は簡単な例です:
<table id="myTable"> <thead> <tr> <th>Name</th> <th>Age</th> <th>City</th> </tr> </thead> <tbody> <tr> <td>John</td> <td>25</td> <td>New York</td> </tr> <tr> <td>Jane</td> <td>30</td> <td>Los Angeles</td> </tr> </tbody> </table>
テーブルを作成した後、テーブルを変更できます。たとえば、新しい行と列を追加できます。
var table = document.getElementById("myTable"); var row = table.insertRow(2); var cell1 = row.insertCell(0); var cell2 = row.insertCell(1); var cell3 = row.insertCell(2); cell1.innerHTML = "Bob"; cell2.innerHTML = "40"; cell3.innerHTML = "Chicago";
上記のコードは、テーブルに新しい行を追加し、各セルに情報を入力します。
実際の開発では、一部のデータに基づいてテーブルを動的に生成する必要がある場合があります。学生情報を含む JSON 配列があると仮定すると、配列をトラバースすることでテーブルを動的に生成できます。
以下は例です:
var students = [ {name: "John", age: 25, city: "New York"}, {name: "Jane", age: 30, city: "Los Angeles"}, {name: "Bob", age: 40, city: "Chicago"} ]; var table = document.createElement("table"); var thead = document.createElement("thead"); var tbody = document.createElement("tbody"); var tr = document.createElement("tr"); for (var key in students[0]) { var th = document.createElement("th"); th.innerHTML = key.charAt(0).toUpperCase() + key.slice(1); tr.appendChild(th); } thead.appendChild(tr); table.appendChild(thead); for (var i = 0; i < students.length; i++) { var tr = document.createElement("tr"); for (var key in students[i]) { var td = document.createElement("td"); td.innerHTML = students[i][key]; tr.appendChild(td); } tbody.appendChild(tr); } table.appendChild(tbody); document.body.appendChild(table);
上記のコードは、まずテーブルを含む DOM 要素を作成し、次にテーブル ヘッダーとテーブル本体をそれぞれ作成します。 JSON 配列を走査するプロセス中に、テーブル ヘッダーとテーブル本体の形式に従って要素が行ごとに追加されます。
コード内の太字の部分は、各キーの最初の文字を大文字にするために使用されていることに注意してください。
テーブルの並べ替えは、最も一般的な操作の 1 つです。テーブルの並べ替えは JavaScript を通じて実行できます。
以下は例です:
function sortTable(n) { var table, rows, switching, i, x, y, shouldSwitch, dir, switchcount = 0; table = document.getElementById("myTable"); switching = true; dir = "asc"; while (switching) { switching = false; rows = table.rows; for (i = 1; i < (rows.length - 1); i++) { shouldSwitch = false; x = rows[i].getElementsByTagName("td")[n]; y = rows[i + 1].getElementsByTagName("td")[n]; if (dir == "asc") { if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) { shouldSwitch = true; break; } } else if (dir == "desc") { if (x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) { shouldSwitch = true; break; } } } if (shouldSwitch) { rows[i].parentNode.insertBefore(rows[i + 1], rows[i]); switching = true; switchcount ++; } else { if (switchcount == 0 && dir == "asc") { dir = "desc"; switching = true; } } } }
上記のコードは、テーブルの特定の列で並べ替える関数を実装しています。渡されるパラメーター n は、ソートされる列の数を表します。
テーブル フィルタリングも一般的な操作です。テーブル内のデータは JavaScript を通じてフィルタリングできます。
以下は例です:
function filterTable() { var input, filter, table, tr, td, i, txtValue; input = document.getElementById("myInput"); filter = input.value.toUpperCase(); table = document.getElementById("myTable"); tr = table.getElementsByTagName("tr"); for (i = 0; i < tr.length; i++) { td = tr[i].getElementsByTagName("td")[0]; if (td) { txtValue = td.textContent || td.innerText; if (txtValue.toUpperCase().indexOf(filter) > -1) { tr[i].style.display = ""; } else { tr[i].style.display = "none"; } } } }
上記のコードは、入力ボックスの値に基づいてテーブル データをフィルターする関数を実装しています。ユーザー入力ボックスの値を取得し、テーブル内の各セルの内容を走査することにより、内容にユーザーが入力した値が含まれている場合はデータ行が保持され、それ以外の場合は非表示になります。
要約すると、上記はテーブルをより便利に制御および操作するためによく使用される JavaScript コードです。もちろん、実際の開発では、さらに多くのテクニックや手法があると思いますので、ぜひ探索して試してみてください。
以上がJavaScriptでテーブルを書く方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。