【发布时间】:2015-09-03 06:06:35
【问题描述】:
编辑:下面已经回答了。
我想要一个 HTML 表格,在每行之间隐藏行,并提供有关顶级行的更多信息。单击第一列中的展开/折叠图像链接时,隐藏行的可见性将从 display:none 切换;显示:表行;。我已经有一段时间没有编写 JavaScript 了,需要能够在 JavaScript 中严格执行此操作,并且不能使用 jQuery toggle() 方法。
如何使用 JavaScript 找到按钮位于表中的 class="subRow" 和 class="parentRow" 的同级,然后切换该同级行的可见性?
HTML
<table style="width:50%">
<caption>Test Table</caption>
<thead>
<tr align="center">
<th><span class="offscreen">State Icon</span></th>
<th>Column 2</th>
<th>Column 3</th>
<th>Column 4</th>
<th>Column 5</th>
</tr>
</thead>
<tbody>
<tr align="center" class="parentRow">
<td><a href="#" onclick="toggleRow();"><img alt="Expand row" height="20px;" src="expand.png"></a></td>
<td>test cell</td>
<td>test cell</td>
<td>test cell</td>
<td>test cell</td>
</tr>
<tr style="display: none;" class="subRow">
<td colspan="5"><p>Lorem ipsum dolor sit amet...</p></td>
</tr>
....
</tbody>
</table>
CSS
.offscreen {
position: absolute;
left: -1000px;
top: 0px;
overflow:hidden;
width:0;
}
.subRow {
background-color: #CFCFCF;
}
JavaScript
function toggleRow() {
var rows = document.getElementsByClassName("parentRow").nextSibling;
rows.style.display = rows.style.display == "none" ? "table-row" : "none";
}
【问题讨论】:
标签: javascript html css toggle html-table