JQuery展开和隐藏表td
JQuery Expand and hide table td
我设法使表行展开和隐藏,但当我添加另一行时,就像所有行都折叠在一起一样。
非常感谢你的帮助。
JS-
$('#more').on('click',function(event){
$(this).closest('tr').nextAll('.hidden-row').toggle();
});
这是演示
您使用的是nexAll()
,它会选择旁边的所有.hidden-row
同级,若要获得下一个同级,请使用next()
。同样,您对td使用相同的id
,它应该是唯一的,所以只选择第一个元素。对于元素组,始终使用class
。
$('.more').on('click', function(event) {
$(this).closest('tr').next().toggle();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
<tr>
<td><a class="more" href="#">section</a>
</td>
</tr>
<tr class="hidden-row">
<td colspan="10">Hahaha</td>
</tr>
<tr>
<td><a class="more" href="#">more</a>
</td>
</tr>
<tr class="hidden-row">
<td colspan="10">Hahaha</td>
</tr>
</table>
不要使用nextAll()
,只使用next()
。
此外,HTML文档中不应该有重复的id,所以用类替换所有more
id。
请参阅JSFiddle了解更新后的代码应该是什么样子。
JSFiddle
相关文章:
- JQuery展开和隐藏表td
- 在td JavaScript中获取隐藏的输入值
- 防止隐藏的 tr 破坏 td 宽度
- 根据TD类别隐藏TR
- jQuery隐藏所有trs或td,而不仅仅是一个
- 如果包含完全匹配,则隐藏表td
- AngularJS:隐藏<td>使用ng-hide/ng-show没有间隙
- 使用jquery隐藏td
- 使用 jQuery 不检查隐藏的 td:s
- 当鼠标悬停在TD上时,保持标题向上,并将其隐藏在鼠标上
- 选择任何 TR 和/或 TD 并隐藏元素
- 在 jquery 中显示和隐藏 td
- 如何通过jquery从td隐藏字段中获取值
- 如何使用JQuery基于存储在第一个TD中的表的值来隐藏存储在第二个TD的图像
- 删除/隐藏表<tr>(s) 其<td>(s) 没有文本
- 隐藏<td>AJAX刷新后从表中删除
- 查找父兄弟td隐藏值
- html嵌套表通过单击表行第一个td来隐藏或显示表行
- 仅当td在特定html标记后不包含任何内容时,才隐藏tr
- 当 td 行为空时隐藏表列