在JavaScript中实现表格的树形结构,通常涉及到数据结构的设计、DOM的操作以及事件的处理。下面我会从基础概念、优势、类型、应用场景,以及可能遇到的问题和解决方案等方面来详细介绍。
以下是一个简单的静态树形表格实现示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Tree Table Example</title>
<style>
.tree-table {
width: 100%;
border-collapse: collapse;
}
.tree-table td {
border: 1px solid #ccc;
padding: 5px;
}
.tree-table .toggle {
cursor: pointer;
}
.tree-table .hidden {
display: none;
}
</style>
</head>
<body>
<table class="tree-table">
<tr>
<td>Root</td>
<td><span class="toggle">+</span></td>
</tr>
<tr class="hidden">
<td>Child 1</td>
<td><span class="toggle">+</span></td>
</tr>
<tr class="hidden hidden-child">
<td>Grandchild 1</td>
<td></td>
</tr>
<!-- Add more rows as needed -->
</table>
<script>
document.querySelectorAll('.toggle').forEach(function(toggle) {
toggle.addEventListener('click', function() {
var row = this.closest('tr');
var childRow = row.nextElementSibling;
if (childRow && childRow.classList.contains('hidden')) {
childRow.classList.remove('hidden');
this.textContent = '-';
} else if (childRow) {
childRow.classList.add('hidden');
this.textContent = '+';
}
});
});
</script>
</body>
</html>
领取专属 10元无门槛券
手把手带您无忧上云