2016-03-31 13 views
0

は、私は、同じ親のdivにして、クラス記述を持つdiv要素の高さを変更しようとしているタグをクリックすると、このjQueryの兄弟方法と設定高さ

<div> 
    <div class="logo"></div> 
    <div class="description"></div> 
    <div class="learnMore"><a class="learn-more" href="#path">Learn More</a>      
</div> 
<div> 
    <div class="logo"></div> 
    <div class="description"></div> 
    <div class="learnMore"><a class="learn-more" href="#path">Learn More</a>      
</div> 

のようなDOM構造を持っている

$('.learn-more').click(function() { 
    $(this).siblings('.description').animate({height: '90px'}, 200); 
} 

これは常に失敗しています。

$('.description').animate({height: '90px'}, 200); 

これは機能しますが、そのクラス名を持つすべてのdivの高さが兄弟であるだけでなく変更されます。

提案がありますか?

+2

あなたのHTML – Turnip

+0

には '.SHOW-more'要素があなたの代わりに' .siblings() 'の')( '.nextを試していないがありますか? – zer00ne

+2

あなたの '.learnMore'部門の – Turnip

答えて

3

最初の解決策では、.show-moreの代わりに.learn-moreを使用することを意味しましたか? その場合、description divはlinkタグの兄弟ではないことに注意してください。それは親の兄弟です。この問題を解決するには、.parent()コールを追加してください。私。

$('.show-more').click(function() { 
     $(this).parent().siblings('.description').animate({height: '90px'}, 200); 
    } 
+0

はいも閉じていません。それは私の前の投稿のタイプミスでした。 jqueryのセレクタをDOMに合わせて更新しました。 そして、親を指摘してくれてありがとう。それは私が持っていた問題を解決しました。 – user3861559

関連する問題