2012-03-07 10 views
0

jqueryの問題があります。私は初心者です!div要素をターゲットにする

divの段落の選択に非表示/表示切り替えを適用したいとします。私はページ上に数多くの同様のdiv要素を持っていて、トグルするための別々のリンクを持っています。

私のHTMLは次のとおりです。

<div class="profile"> 
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p> 
<div class="more"> 
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p> 
</div> 
<a href="#" title="More" class="more">More</a> 
</div> 
<div class="profile"> 
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p> 
<div class="more"> 
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p> 
</div> 
<a href="#" title="More" class="more">More</a> 
</div> 

どのように私はそれがjQueryのを使用してページ上で別々に(DIV CLASS = "もっと")各div要素を切り替えることができますか?現時点では、すべての部門が同時に非表示/表示されます!

おかげ

答えて

0

@sandeep答えは正しいが、彼はセレクタにスペースを持っています。

$('a.more').click(function() { 
    $(this).prev('div.more').toggle('normal'); 
});​ 
+0

クリック機能を追加すると、この機能に追加して「その他」のリンクを「Less」に変更する方法はありますか? addClass、removeClass関数を使用すると思いますか? – Rob

+0

そうですが、 'toggleClass( 'less')'が行います。 '$(this).toggleClass( 'less')。prev( 'div.more')。toggle();'。 @Robの削除/追加を行います –

0
$('.more').click(function(){ 
    $(this).prev('div .more').toggle(); 

})​ 

作業デモ http://jsfiddle.net/wc2sD/

+1

$( 'a。more') 'a'の子をクラス '.more'で取得します。正しいのは$( 'a.more')です。 – user1242756

+0

セレクタ内の空白を削除しても問題ありません。この機能をチェックしてください:http://jsfiddle.net/XRqwj/ – pete

0

同じように長い「もっと」リンクは、「プロフィール」の「子」であるとして/ショーを非表示にするには、テキストのためのクラスを変更し、 div、それは動作するはずです

<script> 
$(".more").click(function(){ 

$(this).parent().find("div.more-text").toggle(); 

}); 
</script> 
<div class="profile"> 
<p>TEXT</p> 
<div class="more-text'> 
<p>MORE TEXT</p> 
</div> 
<a href="#" title="More" class="more">More</a> 
</div> 

<div class="profile"> 
<p>TEXT</p> 
<div class="more-text"> 
<p>MORE TEXT</p> 
</div> 
<a href="#" title="More" class="more">More</a> 
</div> 
関連する問題