【发布时间】:2013-05-31 09:00:43
【问题描述】:
我想在单击标题列时展开和折叠表格行。我只想展开/折叠特定标题下的行(单击)。
这是我的表结构:
<table border="0">
<tr>
<td colspan="2">Header</td>
</tr>
<tr>
<td>data</td>
<td>data</td>
</tr>
<tr>
<td>data</td>
<td>data</td>
</tr>
<tr>
<td colspan="2">Header</td>
</tr>
<tr>
<td>date</td>
<td>data</td>
</tr>
<tr>
<td>data</td>
<td>data</td>
</tr>
<tr>
<td>data</td>
<td>data</td>
</tr>
</table>
关于如何完成这项任务的任何想法。使用 div 这个任务看起来很简单,但是我有我想要操作的表格数据。
我能想到的一个想法是在每一行中使用 css 类来区分每个标题下的行,并仅在单击标题时使用 JQuery 展开/折叠这些行。但是如果我的表有 10-15 个标题,那么跟踪 css 类似乎很困难。
请提出一个合适的方法来实现这一点。
【问题讨论】:
-
我建议你使用嵌套列表(
ul、ol甚至dl)而不是table元素。 -
如果您使用标题单元格,为什么不也使用
<th>? -
是的,我可以使用
但它有什么用途? 首先是语义,其次使用选择器语法更容易定位。虽然你可以拥有多个tbody元素,但我很确定你只能拥有 一个thead元素,所以我不确定这会有所帮助。不过,我发布了一个我认为满足您需求的答案。虽然它确实涉及向包含标题的tr元素添加一个类名。