2012-03-15 7 views
1

jqueryに関する助けが必要です。 .sliderをクリックした後に.contentを入手するにはどうすればよいですか?私は、あなたがこのような何かをしたいjQuery要素の親を取得し、slideToggle関数を呼び出します。

<div class='details'> 
    <div> 
     <a href='#' class='slider'>my link</a> 
    </div> 
    <div class='content'> 
     some content 
    </div> 
</div> 
+0

あなたはもう少しあなたの質問を明確にすることができますか?あなたはクリックした後どのように.contentを取得するのですか?クリックしたときにその内容を表示したいですか?何? – coder4show

答えて

1

いずれかを指定できます

 
$(".details a.slider").click(function(){ 

    $(this).parent().children(".content").slideToggle(); 

}); 

か(これはあまりにも動作するはずだと思う)

 
$(".details a.slider").click(function(){ 

    $(this).siblings(".content").slideToggle(); 

}); 
+0

.siblings()関数wokrsも – Tony

+0

助けてうれしいです! – coder4show

0
$(function() { 
    $('.slider').click(function(e) { 
     $(this).parent().next('.content').slideToggle(); 
     e.preventDefault(); 
    }); 
}); 
+0

'.preventDefault()'は関数内の_first_項目でなければなりません。 – Sparky

+0

@ Sparky672私はこのコードと少し違いがあるとは思わない。 –

+0

もしそうなら。しかし、[それを最初に置くことは文書化された方法です](http://api.jquery.com/event.preventDefault/)。 – Sparky

-1

は私が正しくあなたを理解していた場合.slideToggle()機能を呼び出すために、次にたい:

$(function() { 
    $('.slider').click(function() { 
     $('.content').slideToggle(); 
    }); 
}); 
+0

彼は彼がトグルしたいhtmlの複数のインスタンスを持っていれば、これをすべてトグルします。ユーザーが現在フォーカスしているものではありません。 – coder4show

0

私はそれを考え出したOK

$(this).closest('div.details').children('div.content').slideToggle(); 
+0

私は思った以上に兄弟を使用していたと思いますが、とにかく動作するはずです。 – coder4show

+0

私はその機能を知らなかった、それも働いています – Tony

関連する問題