关闭父级父级的子级

时间:2010-01-22 17:37:14

标签: jquery

您好,我有一个像这样的HTML代码

<div id="top">
  <div class="panel">
    <h1>toppanel</h1>
    <p>Content from toppanel</p>
  </div>
  <div class="panelholder" id="ptop">
    <a class="open" href="#">open</a>
    <a class="close" href="#">close</a>
  </div>
</div>

超过准时。唯一不同的是来自第一个div的id 我的jQuery代码看起来像这样

// Expand Panel
$(".open").click(function(){
    $(#######).slideDown("slow");   
}); 

我的问题是我必须为$(#######)写的,如果我想用类面板slideDown div

4 个答案:

答案 0 :(得分:4)

$(this).closest('top').find('.panel').slideDown("slow");

$(this).parent().prev().slideDown("slow");

答案 1 :(得分:3)

// Expand Panel
$(".open").click(function(){
    $(this).parent().siblings('.panel').slideDown("slow");
});

您应该阅读traversal上的API文档。

答案 2 :(得分:0)

$(".open").click(function(){
    $(this).parent('div.panel').slideDown("slow");   
});

这将找到带有面板类的打开按钮的父级并将其向下滑动,这样您就不必担心ID或任何内容,只需打开面板内的链接。

答案 3 :(得分:0)

编辑为更简单的解决方案!

$(this).parent().siblings(".panel")

查看traversing上的文档。