javascript怎麼寫表格

WBOY
發布: 2023-05-12 20:09:35
原創
1932 人瀏覽過

在前端開發中,表格是很常見的元素之一。利用JavaScript可以動態地產生表格,方便了我們對表格的控制與操作。以下介紹一些常見的方法和技巧,來幫助大家更好地寫JavaScript表格。

  1. 基本表格的建立與修改

表格是由HTML標籤

、 、 、 、 、 、 、< ;tr>、
來定義的。如果要動態地建立表格,可以透過新增這些標籤的方式來產生表格。

以下是一個簡單的範例:

Name Age City
John 25 New York
Jane 30 Los Angeles
登入後複製

建立表格後,就可以對表格進行修改。例如,可以新增新的行和列:

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";
登入後複製

上述程式碼在表格中新增了一行,並在每個儲存格中填寫了資訊。

  1. 根據資料產生表格

在實際開發中,我們可能需要根據一些資料動態地產生表格。假設我們有一個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數組的過程中,分別依照表頭和表身的格式,一行一行地加入元素。

要注意的是,程式碼中加粗的部分是用來將每個key的首字母大寫的運算。

  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表示要排序的列數。

  1. 表格篩選

表格篩選也是常見的運算。可以透過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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!