我正在尝试让一个slidetoggle工作,以便在上一行中单击链接时显示隐藏的表格行。我首先遇到滑动不平滑的问题,然后发现滑动切换对表行没有好处。所以我把内容放在行中div的隐藏行中,然后决定隐藏它。我现在的问题是,我似乎无法找出jquery的正确代码,以便在行中找到该div。
我在这里有一个JSfiddle示例:http://jsfiddle.net/yrM3H/811/
我的代码示例如下:
HTML:
<table>
<tr>
<td>
<div class="hidden">Expanded!</div>
</td>
</tr>
<tr>
<td><div class="toggle">Content</div></td>
</tr>
<tr>
<td>
<div class="hidden">Expanded!</div>
</td>
</tr>
</table>
JS:
jQuery(document).ready(function () {
jQuery(".toggle").parent().parent().next().children().next(".hidden").hide();
jQuery(".toggle").click(function () {
$('.active').not(this).toggleClass('active').parent().parent().next().children().next('.hidden').slideToggle(300);
$(this).toggleClass('active').parent().parent().next().children().next('.hidden').slideToggle("fast");
});
});
答案 0 :(得分:3)
$("td").click(function(){
$(this).parent("tr").next("tr").find("td div.hidden").slideToggle();
});
答案 1 :(得分:2)
这可以解决您的问题:http://jsfiddle.net/yrM3H/813/
我更改了它,因此它在第二行使用.find('hidden')
来查找子元素。事先没有找到元素。
旁注 - 我不明白你为什么不用$('.hidden').hide();
隐藏所有.hidden元素?