传递索引值以用作 jQuery 中的选择器



自 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()是要采取的从右到左操作的一部分,而不是只考虑选择然后要采取的行动。

这里的每个人都可能知道这一点,但现在我明白了。

最新更新