1

4/28現在の改訂版です。選択ミスがあるに違いない。

更新された jsFiddle はこちら: http://jsfiddle.net/thumbslinger/UwFRm/44/

「.correct」の回答をクリックすると、対応する「rightAnwer」が表示されるはずです。これは、機能していないフィドルのスニペットです。

$('.correct').click(function(){
     var findMe = $(this).parent().parent().index();
    $('.answer').eq(findMe).show();
     });

正しい「答え」が表示されていますが、「答え」の子である「.rightAnswer」のクラスを持つdivを表示したいだけです。

//////////// 以下の元の投稿 /////////////////////

私を殺す。注: 私は似たようなことを尋ねましたが、問題は値を渡すことと値を取得することです。eq() の使用が表示/非表示の問題であるかどうか疑問に思っています。

これは私が必要とする値を返します:

var findMe = $(this).parent().parent().index();

今、その値を別の要素の選択の一部として使用しようとしています:

$('.correct').click(function(){
   var findMe = $(this).parent().parent().index();

   $('#fullSongs_Container .answer:eq(findMe)').show();
     }); 

そして私は試しました: $('#fullSongs_Container .answer').eq(findMe).show();

そのため、別のコンテナーで別の div を選択するときに、最初の行の同じインデックス値をフィルターとして使用したいと考えています。

4

2 に答える 2

4

コードを変更する

$('#fullSongs_Container .answer:eq(findMe)').show();

$('#fullSongs_Container .answer:eq(' + findMe + ')').show();

あなたが私がしたことを理解していない場合。既存のコードでは、「findMe」は単なる文字列であり、変数ではありません。変更されたコードでは、findMe は変数として扱われ、その値がそこに代入されます。

于 2012-04-27T19:16:15.203 に答える
0

将来の参考のためにそれを理解しました。私のセレクターはオフでした。次のネストされたパターン:

<div class="question">
  <div class="rightAnswer"></div>
  <div class="wrongAnswer"></div>
</div>


$('.answer .rightAnswer').eq(findMe).show();

私が必要としていたものです。

jquery は選択に関して右から左に読み取りますが、私は eq() と show() を右から左へのアクションの一部であると考えたので、選択とアクションだけを考えるのではなく、これは私を失望させました。取る。

ここにいる誰もがそれを知っているかもしれませんが、今わかりました。

于 2012-04-28T19:48:05.070 に答える