フロントエンド開発では、テーブルは最も一般的な要素の 1 つです。 JavaScript を使用するとテーブルを動的に生成できるため、テーブルの制御と操作が容易になります。ここでは、JavaScript テーブルをより適切に作成するのに役立つ一般的な方法とテクニックをいくつか紹介します。
テーブルは、HTML タグ
、 | 。動的にテーブルを作成したい場合は、これらのタグを追加してテーブルを生成できます。
以下は簡単な例です: <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 サイトの他の関連記事を参照してください。 ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
function_exists() はカスタム関数を決定できません
Function test () {return true;} if (function_exists ('test')) {echo "テストは関数です";
から 2024-04-29 11:01:01
0
3
2060
Google Chromeのモバイル版を表示する方法
こんにちは、先生、Google Chrome をモバイル版に変更するにはどうすればよいですか?
から 2024-04-23 00:22:19
0
11
2214
親ウィンドウには出力がありません
document.onclick = function(){ window.opener.document.write('私は子ウィンドウの出力です');
から 2024-04-18 23:52:34
0
1
1753
関連トピック
詳細>
|
---|