2009-08-27 32 views
1

我想只显示我的博客文章循环中的帖子标题,并且当标题被点击 - 摘录将出现在下面。切换博客帖子循环摘录与jQuery

到目前为止,我得到这个:

$("#postTitle").click(function() { 
$("#postExcerpt").toggle(); 

其中仅一个工作的第一个结果。

但这:

$("#postTitle").click(function() { 
$("#postExcerpt").next().toggle(); 

不工作的时候,我想不通为什么。

我的循环如下所示:

<div class="box"> 
    <div class="block"> 
    <p id="postTitle"><a href="#">Post Title</a></p> 
    <p id="postExcerpt" style="display:none;">Post Excerpt</p> 
    </div> 
</div> 

您的帮助表示赞赏!

+0

请发布一个更大的“循环”的例子,有多个条目。他们都有相同的ID吗? – n1313 2009-08-27 13:23:34

+0

帖子收集在这个表单中。你可以复制粘贴在你的脑海里。 是的,他们都有相同的ID。有没有其他的方法来切换它们? – 2009-08-27 13:26:18

+0

是的,有很多方法,但你应该知道id必须是唯一的。 – n1313 2009-08-27 13:28:31

回答

2
<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#postTitle a').click(function(event){ 
     event.preventDefault(); 
     $(this).parent('#postTitle').siblings('#postExcerpt').toggle(); 
    }); 
}); 
</script> 

演示在这里:http://jquery.nodnod.net/cases/702/run

当然,你永远不应该再使用HTML标识。你应该使用类。

+0

谢谢!完美的作品! – 2009-08-27 13:28:46

+0

BTW:让这个代码像Accordion一样行事有多难?我的意思是,在关闭其余的时候打开一个元素? – 2009-08-27 14:00:03