1

截至 4/28 的修订版。我一定有一些选择错误。

更新的 jsFiddle 在这里:http: //jsfiddle.net/thumbslinger/UwFRm/44/

应该发生的是,当单击“.正确”答案时,相应的“rightAnwer”应该变得可见。这是小提琴中不起作用的片段:

$('.correct').click(function(){
     var findMe = $(this).parent().parent().index();
    $('.answer').eq(findMe).show();
     });

正在显示正确的“答案”,但是,我只想显示具有“.rightAnswer”类的 div,它是“答案”的孩子。

/////////// 下面是原始帖子 ///////////////////

杀了我。注意:我问过类似的问题,但现在的问题是传递值与获取值。我想知道使用 eq() 是否是 w/show/hide 的问题。

这将返回我需要的值:

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 时,我想使用第一行的相同索引值作为过滤器。

4

2 回答 2

4

更改您的代码

$('#fullSongs_Container .answer:eq(findMe)').show();

$('#fullSongs_Container .answer:eq(' + findMe + ')').show();

如果你不明白我做了什么。在您现有的代码中,“findMe”只是一个字符串而不是变量。在修改后的代码中,findMe 被视为一个变量,它的值将在那里被替换。

于 2012-04-27T19:16:15.203 回答
0

想出来以备将来参考。我的选择器关闭了。在嵌套模式中:

<div class="question">
  <div class="rightAnswer"></div>
  <div class="wrongAnswer"></div>
</div>


$('.answer .rightAnswer').eq(findMe).show();

是我需要的。

虽然 jquery 在选择方面是从右到左读取的,但这让我很失望,因为我认为 eq() 和 show() 是从右到左操作的一部分,而不是只考虑选择然后操作采取。

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

于 2012-04-28T19:48:05.070 回答