2009-08-27 18 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

+0

投稿がこのフォームに集まります。あなたはそれをあなたの心の中に貼り付けることができます。 はい、すべて同じIDです。それらを切り替える他の方法はありますか? –

+0

はい、多くの方法がありますが、IDは一意でなければならないことがわかります。 – n1313

答えて

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 IDを再利用してはいけません。あなたはクラスを使うべきです。

+0

ありがとう!完璧に動作します! –

+0

ところで、このコードをAccordionのように動作させるのはどれくらい難しいですか?他の要素を閉じながら要素を1つ開きますか? –

関連する問題