2010-04-19 81 views
0

我想用next()切换div。问题在于“触发器”与我想要切换的div不同。该工作的例子:jquery next()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> 

这不工作...有什么建议?

回答

3

在这种情况下,你需要一个.parent()为好,像这样:

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

另外,如果您的嵌套可能会改变,你可以去给你所处的<div>,就像这样:

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

我实际上有div的中间触发器和切换div ... used nextAll()和一切都很完美..谢谢! – mike 2010-04-19 21:42:13

+0

@mike - 如果你只是想要接下来的第一个类,请务必使用'.nextAll(“。task_description:first”)'! – 2010-04-19 21:44:08