截至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时,使用第一行的相同索引值作为过滤器。
答案 0 :(得分:4)
更改您的代码
$('#fullSongs_Container .answer:eq(findMe)').show();
要
$('#fullSongs_Container .answer:eq(' + findMe + ')').show();
如果你不明白我做了什么。 在您现有的代码中,“findMe”只是一个字符串而不是变量。在修改后的代码中,findMe被视为一个变量,它的值将被替换。
答案 1 :(得分:0)
想出来以备将来参考。我的选择器关了。在嵌套模式中:
<div class="question">
<div class="rightAnswer"></div>
<div class="wrongAnswer"></div>
</div>
$('.answer .rightAnswer').eq(findMe).show();
是我需要的。
虽然jquery在选择方面从右到左阅读,但这让我失望,因为我认为eq()和show()是从右到左动作的一部分而不是只考虑选择然后采取行动。
这里的每个人都可能知道,但现在我明白了。