1

トリビア クイズの DOM トラバーサルの助けが必要です。構造は..繰り返しの質問/回答構造を持つ動的な数の内部divがあります..

<div class="trivia_entry">
<div class="pad50">
<span>question</span>
..radio buttons...
<input type="button" class="quizbutt" value="NEXT" />
</div>
</div>
<div class="trivia_entry">
<div class="pad50">
<span class="pno">INCORRECT</span>
<p>answer description</p>
</div>
</div>

ユーザーが [次へ] ボタンをクリックすると、jQuery はユーザーが選択したことを確認し、回答が正しい場合は次のエントリ (回答) のスパンのクラスを「pyes」に変更する必要があります。スパンを選択できないようですが..試してみました(ボタンクリックハンドラー内から)..

$(this).parent().parent().parent().next('.trivia_entry span').removeClass('pno').addClass('pyes').html('CORRECT');

どんなアイデアでも本当に感謝しています:-)

4

1 に答える 1

1

いくつかのメソッドの代わりにparentメソッドを使用できますclosest:

$(this).closest('.trivia_entry')
       .next('.trivia_entry')
       .find('span')
       .removeClass('pno')
       .addClass('pyes')
       .html('CORRECT');

http://jsfiddle.net/2JvHf

PS: 3 つではなく 2 つの親メソッドを使用する必要がありました。nextメソッドはそのようには機能しません。spanセレクターからを削除し、代わりにメソッドを使用する必要がありますfind

于 2013-03-13T21:50:38.850 に答える