【发布时间】:2016-01-14 13:06:37
【问题描述】:
我有一个表,我只使用 CSS(没有 jQuery)在其上创建了类似手风琴的效果。手风琴效果是有效的,但是只有当我点击这个小提琴上看到的复选框时它才有效:
https://jsfiddle.net/55nk6s4q/
(我故意没有隐藏小提琴中的复选框,以便任何人都可以测试它)。
正如您在代码中看到的,我有嵌套表。如果点击原始行:
<tr for="row1">
<td class="closed">+</td>
<td>123</td>
<td>John</td>
<td>Doe</td>
<td>02-15-1982</td>
<td>M</td>
</tr>
您会在该行下方获得类名称为 employee-info 的其他表,就像手风琴一样。
我能够让row2 崩溃并像手风琴一样工作的唯一方法是把它做成一个单独的表格,并给表格赋予与原始表格相同的名称:
<table class="table-bordered table-responsive employee accordion-row" for="row2">
否则,即使我将for="row2 放在<tr> 元素中,手风琴效果也不起作用。结果,该行的样式与原始表格不一致。要切换该行 (row2),我只能通过选中第二个复选框而不是按预期单击加号 (+) 来获取它。
我的问题是,如何通过单击原始表格中的行来切换这些组件,而不必每次都单击复选框?
【问题讨论】:
-
请注意,
<tr>是唯一可以成为<table>的直接子代的东西。在那里输入无效的 HTML。
标签: html css css-transitions html-table