javascript怎麼寫表格

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

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

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

表格是由HTML標籤

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

以下是一個簡單的範例:

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

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

  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學習者快速成長!