在前端开发中,表格是很常见的元素之一。利用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";上述代码在表格中新增了一行,并在每个单元格中填写了信息。 立即学习“Java免费学习笔记(深入)”;
在实际开发中,我们可能需要根据一些数据动态地生成表格。假设我们有一个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的首字母大写的操作。
[置顶]Android中的JSON详细总结 中文WORD版
下载
JSON(JavaScript Object Notation) 定义:一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。有需要的朋友可以下载看看
表格排序是很常见的操作之一。可以通过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代码,帮助大家更方便地控制和操作表格。当然,在实际开发中,还有更多的技巧和方法,希望大家多多探索和尝试。 |
|---|
![[置顶]Android中的JSON详细总结 中文WORD版](https://img.php.cn/upload/manual/000/000/012/170892733569108.png)










