JQuery只切换最接近它的相关div
我有一些类似的div,我正在使用这样的一些基本代码切换:
$(".field-group-format-toggler-abstract").click(function() { $(".field-group-format-wrapper").toggle(); });
我遇到的问题是每当我触发“+”时,当我只想切换最接近它的相关div时,它会切换所有其他具有相同类的div .field-group-format-wrapper
。 我试过.next和.closest,但这似乎锁定了事情然后它不起作用我没有得到语法错误,例如
$(".field-group-format-toggler-abstract").click(function() { $(".field-group-format-wrapper").closest().toggle(); });
我在这里创建了一个工作版本,但如果你像我上面那样添加.closest,它就不再起作用了。
http://jsfiddle.net/LHguJ/5/
**注意,我只想显示/隐藏field-group-format-wrapper
而不是其他内容,因此“Title”仍然需要显示是否展开。
你想要的是兄弟姐妹() 。 并使用它来引用被点击的元素。 你正在使用最近的,寻找最近的() ‘父’。
$(".field-group-format-toggler-abstract").click(function() { $(this).siblings(".field-group-format-wrapper").toggle(); });
您可以像这样使用nextAll()
:
的jsfiddle
$(".field-group-format-toggler-abstract").click(function(){ $(this).nextAll(".field-group-format-wrapper").toggle(); });
jQuery的
$(".field-group-format-toggler-abstract").click(function(){ $(this).siblings(".field-group-format-wrapper").toggle(); $(this).html( $(this).html() == '+' ? '–' : '+'); });
尝试使用$(this).parent().find(".field-group-format-wrapper")
$(".field-group-format-toggler-abstract").click(function() { $(this).parent().find(".field-group-format-wrapper").toggle(); });
或与siblings
:
$(".field-group-format-toggler-abstract").click(function() { $(this).siblings(".field-group-format-wrapper").toggle(); });