在前端開發中,表格是很常見的元素之一。利用JavaScript可以動態地產生表格,方便了我們對表格的控制與操作。以下介紹一些常見的方法和技巧,來幫助大家更好地寫JavaScript表格。
表格是由HTML標籤f5d188ed2c074f8b944552db028f98a1、ae20bdd317918ca68efdc799512a9b39、92cee25da80fac49f6fb6eec5fd2c22a、06669983c3badb677f993a8c29d18845、ae20bdd317918ca68efdc799512a9b39、92cee25da80fac49f6fb6eec5fd2c22a、06669983c3badb677f993a8c29d18845、< ;tr>、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數組的過程中,分別依照表頭和表身的格式,一行一行地加入元素。
要注意的是,程式碼中加粗的部分是用來將每個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中文網其他相關文章!