如何用JavaScript隐藏或显示某些表格行
在网页开发中,表格是常用的展示数据的方式。有时我们需要根据某些条件动态地隐藏或显示表格的行。本文将通过一个具体的示例来介绍如何用JavaScript实现这一功能。
需求分析
假设我们有一个包含多个学生信息的表格,用户可以根据学年的不同选择性地显示该学年的数据。我们将建一个简单的页面,其中包括一个表格和几个按钮,用户可以通过点击按钮来隐藏或显示特定的表格行。
HTML 结构
首先,我们需要构建一个简单的 HTML 页面来展示我们的表格。在这个表格中,我们将显示学生的姓名和所在学年。以下是基本的 HTML 结构:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>表格行隐藏与显示</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
学生信息表
<div>
<button onclick="showYear('2022')">显示2022年学生</button>
<button onclick="showYear('2023')">显示2023年学生</button>
<button onclick="showAll()">显示所有学生</button>
</div>
<table id="studentTable" border="1">
<thead>
<tr>
<th>姓名</th>
<th>学年</th>
</tr>
</thead>
<tbody>
<tr data-year="2022">
<td>张三</td>
<td>2022</td>
</tr>
<tr data-year="2023">
<td>李四</td>
<td>2023</td>
</tr>
<tr data-year="2022">
<td>王五</td>
<td>2022</td>
</tr>
<tr data-year="2023">
<td>赵六</td>
<td>2023</td>
</tr>
</tbody>
</table>
<script src="script.js"></script>
</body>
</html>
CSS 样式
为表格添加一些简单的样式,使其更加美观,您可以在 styles.css 文件中添加以下代码:
body {
font-family: Arial, sans-serif;
margin: 20px;
}
h1 {
color: #333;
}
table {
width: 100%;
border-collapse: collapse;
}
th, td {
padding: 10px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
tr.hidden {
display: none;
}
JavaScript 实现
在我们的 script.js 文件中,我们将实现按钮的点击事件处理。这些事件将负责隐藏或显示表格中的行。以下是具体的代码实现:
function showYear(year) {
const rows = document.querySelectorAll('#studentTable tbody tr');
rows.forEach(row => {
if (row.getAttribute('data-year') === year) {
row.classList.remove('hidden');
} else {
row.classList.add('hidden');
}
});
}
function showAll() {
const rows = document.querySelectorAll('#studentTable tbody tr');
rows.forEach(row => {
row.classList.remove('hidden');
});
}
代码解析
-
showYear(year)函数:当用户点击某一年的按钮时,该函数会检查每一行的data-year属性。如果该行的属性等于用户选择的年份,它将显示该行;否则,隐藏该行。 -
showAll()函数:该函数在用户点击“显示所有学生”按钮时被调用,所有行都将被显示。
整体效果展示
通过上述步骤,我们创建了一个能动态显示和隐藏表格行的简单网页。用户可以通过按钮来筛选信息,便于更快地获取所需的内容。
以下是数据的饼状图表示(使用 Mermaid 语法):
pie
title 学年分布
"2022年": 2
"2023年": 2
总结
本文详细介绍了如何使用 JavaScript 控制表格行的显示和隐藏,包括了完整的 HTML、CSS 和 JavaScript 代码示例。通过简单的按钮,用户可以更方便地查看特定年份的学生数据。这种动态显示的功能在现代网页应用中非常常见,可以有效提升用户体验。
希望您能够将本文中的代码灵活应用到自己的项目中,提升表格的交互性和可读性。如果您有任何疑问,欢迎随时提出!
















