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