jQuery nearest()不处理层次结构中的下一个元素

时间:2014-09-18 11:19:30

标签: jquery html

我有以下html结构:

<em class="help fa fa-question-circle text-muted"></em>
<div class="help-wrapper"></div>

当使用以下JS时,我认为它会没事,但它不起作用。没有错误或任何事情,只是不起作用。

$('.help').on('click', function () {
  $(this).closest('.help-wrapper').fadeToggle(300);
});

3 个答案:

答案 0 :(得分:4)

在上下文中使用nextsiblings

$('.help').on('click', function () {
  $(this).next('.help-wrapper').fadeToggle(300);
});

 $('.help').on('click', function () {
  $(this).siblings('.help-wrapper').fadeToggle(300);
});

答案 1 :(得分:3)

closest()遍历向上 DOM树,因此任何匹配都是this的祖先。

您需要next()

$(this).next('.help-wrapper').fadeToggle(300);

答案 2 :(得分:2)

Closes遍历树,它在siblings上不起作用 在您的情况下,您可以使用

$(this).siblings('.help-wrapper').fadeToggle(300);