jQuery DOM Traversal - 然后转发

时间:2013-03-13 21:45:16

标签: jquery

需要一些帮助进行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>

当用户单击NEXT按钮时,jQuery会确保他们进行了选择,然后如果答案正确,则需要将下一个条目(答案)范围内的类更改为“pyes”。 我似乎无法选择跨度但已经尝试过(从按钮点击处理程序中)..

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

真正赞赏的任何想法: - )

1 个答案:

答案 0 :(得分:1)

您可以使用parent方法代替几种closest方法:

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

http://jsfiddle.net/2JvHf

PS:您需要使用2个父方法而不是3个,同时next方法不起作用,您应该从选择器中删除span并使用find方法代替。