我希望在页面加载时隐藏帖子回复,然后点击链接切换:
HTML:
<!-- the post div-->
<div class="post">
<!-- the post content -->
<div class="clicker">click me</div>
<!-- end of the post -->
</div>
<!--begin replies div -->
<div class="container">
<div class="reply">
text in here
</div>
<div class="reply">
text in here
</div>
<div class="reply">
text in here
</div>
</div>
<!--- end replies div -->
<!-- repeat again etc-->
的CSS:
.container {
display: none;
}
jquery的:
$(function() {
$(".clicker").click(function() {
$(this).closest('.container').toggle('blind');
});
});
的jsfiddle:
http://jsfiddle.net/rwone/grBkm/9/(已解决的解决方案)
答案 0 :(得分:3)
您的问题在于您使用.closest()
功能。它遍历DOM树,从选择器元素开始,寻找与选择器匹配的第一个元素。但是,您的.clicker <div>
是您.container <div>
的兄弟姐妹的孩子,因此您希望先前往.post <div>
,然后前往.container
。
您可以通过执行以下操作来实现此目的:
$(this).closest('.post').next('.container').toggle('blind');
答案 1 :(得分:0)
试试此链接。它显示了一个很好的例子。 http://papermashup.com/simple-jquery-showhide-div/
这应该工作.. 使用next()而不是nearest()
$(本)的.next切换( '盲 ')(' 容器')。