1

次のような div の 1 つのクラス (「open」) には、別のクラスの div (「items」) が含まれています。

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

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

私がやろうとしているのは、クリックされた「open」クラスにあるすべての「item」クラス div のスライドダウンです。

これまでのところ、

$(document).ready(function () {

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

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

    });

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

ありがとう、ジョン

4

3 に答える 3

4

この場合、次のように を使用して取得できる直接の children:first-childが必要な代わりに:.children()

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

:first-childは、各レベル (および各「ブランチ」) で最初の子要素を取得するためのものです。.children()または、子セレクター ( >)は、すべての直接/「最初のレベル」の子を取得するためのものです。

于 2010-09-12T23:25:11.763 に答える
2

どうですか

$(".open").click(function() {
    $(this).children().slideDown(1000);
});
于 2010-09-12T23:26:07.903 に答える
0

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

children()次に、 ofを探しているだけではありません.openか? どの場合にあなたが望む

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

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

于 2010-09-12T23:26:29.167 に答える