您的位置:首页 > 技术中心 > 前端框架 >

javascript怎么写表格

时间:2023-05-13 05:44

在前端开发中,表格是很常见的元素之一。利用JavaScript可以动态地生成表格,方便了我们对表格的控制和操作。下面介绍一下一些常见的方法和技巧,来帮助大家更好地编写JavaScript表格。

  1. 基本表格的创建和修改

表格是由HTML标签<table>、<thead>、<tbody>、<tfoot>、<tr>、<th>和<td>来定义的。如果要动态地创建表格,可以通过添加这些标签的方式来生成表格。

以下是一个简单的例子:

<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怎么写表格的详细内容,更多请关注Gxl网其它相关文章!

热门排行

今日推荐

热门手游