在div之外的jquery next()

时间:2010-04-19 21:33:12

标签: javascript jquery

我正在尝试使用next()来切换div。问题是“触发器”与我想要切换的div不同。一个有效的例子:

$("span.trigger").click(function(){
        $(this).next("div.task_description").slideToggle("fast");
});

<span class="trigger">The trigger</span>
<div class="task_description ">
  some content
</div>

但我需要html设置的方式是:

<div>
  <span class="trigger">The trigger</span>
</div>
<div class="task_description ">
  some content
</div>

这不起作用......有什么建议吗?

1 个答案:

答案 0 :(得分:3)

在这种情况下,您还需要.parent(),如下所示:

$("span.trigger").click(function(){
  $(this).parent().next("div.task_description").slideToggle("fast");
});

或者,如果您的嵌套可能会发生变化,您可以前往您所在的<div>,如下所示:

$(this).closest("div").next("div.task_description").slideToggle("fast");