jQuery |单击子项,隐藏父项

时间:2010-05-08 15:00:10

标签: jquery html parent-child show-hide

嘿,我有一个使用ul和li的列表:

<span class="important">Show/Hide</span>

<div id="important" class="hidden">
    <ul class="sub">
     <li>
            Value one
        </li>
        <li class="child">
            <img src="../img/close.png" />
        </li>
    </ul>
</div>

$(".important").click(function () {
  $("#important").slideToggle("fast");
});

当点击子(class =“child”)时,它应该向上滑动div(id =“important”),但是,有其他列表具有不同的ID,我希望div在向上滑动时点击孩子

我这样做了:

$(".child").click(function () {
  $(".child < div").slideUp("fast");
});

我不知道如何让它发挥作用,我已经做了其他组合,似乎无法做到。

3 个答案:

答案 0 :(得分:3)

你可以使用.closest()来完成,就像这样

$(".child").click(function() {
  $(this).closest("div").slideUp();
});

这来自您点击最新.child祖先的<div>并将其向上滑动。如果您在孩子和父母之间可能有其他div,那么我建议您{em> 希望关闭一个类,并更改最近的调用以查找该特定{{1} },像这样:

<div>

答案 1 :(得分:1)

我会使用parent()选择器,这是最好的(我认为)这样做的方式:)

答案 2 :(得分:0)

我认为您需要“:parent”选择器,在您的情况下它将是:

  

$( “儿童:父 ”)。效果基本show(“ 快”);

对于其他选择者,请查看: http://api.jquery.com/category/selectors/