在单击元素的父级中查找类

时间:2012-01-14 21:38:28

标签: javascript jquery toggle

我正在尝试在单击元素的父级内找到类.post-info,.toggle-info。现在,页面上的所有.post-info都会切换。我试图只获得一个.post-info来切换它的父容器,.post。

<div class="post">
 <div class="toggle-info">Toggle Btn</div>

 <div class="post-info">
  <p>Toggle this content</p>
 </div>

</div>


$(".toggle-info").click(function () {   
  $(".post-info").animate({ 
    height: "toggle",
    opacity:"toggle"
  }, 520, 'swing');
});

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:5)

你可以这样做:

$(this).closest(".post").find(".post-info").animate(...)

这会从发生点击的父链上升并找到.post类,然后在该父级中找到.post-info,然后将动画应用于该父级。这是非常灵活的.post-info可以在.post父级中的任何位置,这将起作用。你可以在这里看到它:http://jsfiddle.net/jfriend00/AeYZU/

对于这个特别精确的HTML,你也可以使用它:

$(this).next().animate(...)

这会在点击的div之后得到下一个兄弟。请注意,此方法(与前一个方法相对)依赖于.post-info作为下一个兄弟的确切位置,并且如果其位置发生变化将会中断。你可以在这里看到这个工作:http://jsfiddle.net/jfriend00/qGCLx/