Hél*_*éna 10 html javascript css jquery collapse
嗨,我需要一个扩展和折叠功能的表.在线找到的代码大多数是for,然后在js中为这个tr类定义一个函数.
但我的情况比图片更复杂.单击"参数1"后,它将展开并显示合并的单元格和2个单元格.
那么在这种情况下,我该如何实现这个功能呢?提前致谢.
附件是用于测试的表的简单片段:
https://jsfiddle.net/knspgwkq/
测试表的html
<table width="200" border="1">
<tr>
<td rowspan="5">Summary 1</td>
<td colspan="2"><div align="center">1 st level</div></td>
</tr>
<tr>
<td colspan="2"><div class="P1">Parameter 1</div></td>
</tr>
<tr>
<td rowspan="2">Sub level-1 </td>
<td>Sub parameter (1)</td>
</tr>
<tr>
<td>Sub parameter (2)</td>
</tr>
<tr>
<td colspan="2"><div class="P2">Parameter 2</div></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
JS
$('.P1').click(function(){
$(this).find('span').text(function(_, value){return value=='-'?'+':'-'});
$(this).nextUntil('.P2').slideToggle(100, function(){
});
});
Run Code Online (Sandbox Code Playgroud)
将自定义数据属性添加到您想要控制的单元格怎么样?实例https://jsfiddle.net/knspgwkq/7/
你的父母会持有data-collapsable-parent一些关键价值。您希望与上述父级一起隐藏/显示的子级将持有data-collapsable-child与父级相同的键值。
如果您需要其他折叠展开元素,请检查此示例 通过单击参数 1,然后单击子参数 (2),您将打开其他元素。
https://jsfiddle.net/knspgwkq/9/
$('[data-collapsable-parent]').click(function(){
var child = $(this).attr("data-collapsable-parent");
$('[data-collapsable-child="'+ child + '"]').toggle('slow');
});Run Code Online (Sandbox Code Playgroud)
[data-collapsable-child] {
display: none;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table width="200" border="1">
<tr>
<td rowspan="5">Summary 1</td>
<td colspan="2"><div align="center">1 st level</div></td>
</tr>
<tr>
<td colspan="2" data-collapsable-parent="1"><div class="P1">Parameter 1</div></td>
</tr>
<tr>
<td data-collapsable-child="1" rowspan="2">Sub level-1 </td>
<td data-collapsable-child="1" >Sub parameter (1)</td>
</tr>
<tr>
<td data-collapsable-child="1" >Sub parameter (2)</td>
</tr>
<tr>
<td colspan="2"><div class="P2">Parameter 2</div></td>
</tr>
</table>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3983 次 |
| 最近记录: |