0

私がHTMLを持っているとしましょう:

<span class="random"></span>
<div class="parentdiv">
    <img src="" class="button">
</div>
<div class="content-one">
    <div class="content-two">
    </div>
</div>

<span class="random"></span>
<div class="parentdiv">
    <img src="" class="button">
</div>
<div class="content-one">
    <div class="content-two">
    </div>
</div>

私は現在、divコンテンツを選択できます-1つは次のJavaScriptを使用しています:

$(".button").toggle(function(){
    $(this).parent().nextAll(".content-one").first().slideUp('slow');
},

.content-two代わりにdivを選択するにはどうすればよいですか?私はそれが何であるかを理解することができないので!

この理由は、トグルするページにクラスの複数のインスタンスがあるためcontent-two、ボタンを押すたびにdivの最初のインスタンスのみを選択する必要があるためです。

4

5 に答える 5

2
$(".button").toggle(function(){
  $(this).parent().nextAll(".content-one").find(".content-two").first().slideUp('slow');
},
于 2012-08-22T22:07:43.197 に答える
0

「.content-one」を「.content-two」に置き換えてみませんか?クラス「.content-one」を選択しているので、代わりに必要なクラスに変更しただけで機能すると思いますか?

$(".button").toggle(function(){
    $(".content-two").first().slideUp('slow');
},

http://api.jquery.com/class-selector/

于 2012-08-22T22:04:56.710 に答える
0
$(".button").toggle(function(){
  $(this).next(".content-one").children('.content-two').first().slideUp('slow');
});​
于 2012-08-22T22:07:48.927 に答える
0
$(".button").click(function(){
    $(this).parent().next(".content-one").first(".content-two").toggle('slow');
});

これにより、クリックされた.buttonを取得してから親を取得し、次にクラスとして「.content-one」を使用して次の兄弟を取得し、クラスとして「.content-two」を使用して最初の子を取得し、表示を切り替えます。例:jsFiddleの例

于 2012-08-22T22:14:25.080 に答える
0

これで遊んでください:

$(".content-one:first").css({border:'3px solid red'});
$(".content-one:first div:first").css({border:'3px dotted blue'});

$("div").eq(2).css({border:'3px solid #003366'});
$("div:eq(2)").css({border:'3px dotted blue'});
$("div:eq(2)>div:first").css({border:'3px dotted blue'});

あなたの質問は十分に具体的ではありませんでしたが、それらの行の1つにあなたの答えがあり、このリンクをチェックして実際の動作を確認してください:http: //jsfiddle.net/e7MCy/

于 2012-08-22T22:17:48.410 に答える