在前端开发中,表格是很常见的元素之一。利用javascript可以动态地生成表格,方便了我们对表格的控制和操作。下面介绍一下一些常见的方法和技巧,来帮助大家更好地编写javascript表格。
表格是由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";上述代码在表格中新增了一行,并在每个单元格中填写了信息。
立即学习“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的首字母大写的操作。
JSON(JavaScript Object Notation) 定义:一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。有需要的朋友可以下载看看
0
表格排序是很常见的操作之一。可以通过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中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号