0

我想创建一个简单的 jQuery show 函数来在用户单击 div .ask-more 时显示类 .show-more:

<div class="participant" id="participant-1">

<div class="ask-more"></div>
<div class="show-more" style="display:none"></div>

</div>

<div class="participant" id="participant-2">

<div class="ask-more"></div>
<div class="show-more" style="display:none"></div>

</div>

我有以下代码(有效):

$( ".ask-more" ).click(function() {
  $( ".show-more" ).show();
});

我的问题:目前这个函数显示了两个参与者 ID 的类;如何调整脚本,以便仅显示与单击的 .ask-more 类相同的父级中的 .show-more 类?即在#participant-1 div 中单击ask-more,仅显示#participant-1 中的show-more,而不是两者。

请注意,我不想使用单独的#participant-1/2 引用,因为我需要它来扩展数百次。我本质上是要求在 jQuery 中进行相对查找

谢谢

4

3 回答 3

1

使用.next()

$(".ask-more").click(function() {
  $(this).next(".show-more").show(); // or $(this).next().show();
});
于 2013-10-26T16:10:00.960 回答
1

在这种情况下,show-more是下一个兄弟元素,您可以使用.next()来获取该元素

$( ".ask-more" ).click(function() {
  $(this).next().show();
});
于 2013-10-26T16:10:23.400 回答
1

尝试使用 .siblings() 如下:

$(this).siblings(".show-more").show();
于 2013-10-26T16:13:30.280 回答