在前端開發中,表格是很常見的元素之一。利用JavaScript可以動態地產生表格,方便了我們對表格的控制與操作。以下介紹一些常見的方法和技巧,來幫助大家更好地寫JavaScript表格。
表格是由HTML標籤
和 | 來定義的。如果要動態地建立表格,可以透過新增這些標籤的方式來產生表格。 以下是一個簡單的範例:
登入後複製
建立表格後,就可以對表格進行修改。例如,可以新增新的行和列: 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數組的過程中,分別依照表頭和表身的格式,一行一行地加入元素。 要注意的是,程式碼中加粗的部分是用來將每個key的首字母大寫的運算。
表格排序是很常見的操作之一。可以透過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中文網其他相關文章!
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
function_exists()無法判定自訂函數
function test() { return true; } if (function_exists('TEST')) { ech...
來自於 2024-04-29 11:01:01
0
1
925
父視窗沒有輸出
document.onclick = function(){ window.opener.document.write('我是子視窗的輸出'); ...
來自於 2024-04-18 23:52:34
0
0
782
相關專題
更多>
熱門教學
更多>
|
---|