質問

私はこのような別のクラスのdiv( 'items')を含む1つのクラスのdiv( 'open')を持っています。

<div class="open">
    <div class="item">
    this is a test 1
    </div>

    <div class="item">
    this is a test 2
    </div>
</div>

私がやりたいのは、クリックされている「オープン」クラスにあるすべての「アイテム」クラスDivのスライドタウンです。

これまでのところ私は持っています

$(document).ready(function () {

    $('.open').click(function () {

        $(this).find(':first-child').slideDown('1000');

    });

しかし、それは機能していません。助言がありますか?

ありがとう、ジョン

役に立ちましたか?

解決

それ以外の :first-child あなたが欲しい すぐ近くの子供, 、この場合に使用できます .children(), 、 このような:

$('.open').click(function () {
  $(this).children().slideDown('1000');
});

:first-child 各レベル(および各「ブランチ」)で最初の子要素を取得するためのためです。 .children() または チャイルドセレクター(>) すべての即時/「第一レベル」の子供を獲得するためです。

他のヒント

どうですか

$(".open").click(function() {
    $(this).children().slideDown(1000);
});

まず、私はあなたが実際に閉じていると思います $(document).ready, 、投稿したコードブロックでは、閉じられていません。コードでそうしていることを確認してください。

第二に、あなたはただ探していません children().open?その場合、あなたが望む

$(document).ready(function() {
  $('.open').click(function() {
    $(this).children('.item').slideDown('1000');
  });
});

編集: :コメントのおかげで、削除しました live() 提案。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top