0

嘿,我有一个使用 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");
});

我不知道如何使它工作,我做过其他组合,似乎做不到。

4

3 回答 3

3

你可以这样做.closest(),像这样

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

这从.child您单击最整洁的<div>祖先并将其向上滑动开始。如果您在孩子和父母之间可能有其他 div,那么我建议给<div>确实想要关闭的课程,并更改最接近的调用以查找特定的div <div>,如下所示:

$(".child").click(function() {
  $(this).closest("div.classToClose").slideUp();
});
于 2010-05-08T15:02:59.427 回答
1

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

于 2010-05-08T17:17:58.047 回答
0

我认为你需要 ":parent" 选择器,在你的情况下它是:

$(".child:parent").slideUp("fast");

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

于 2010-05-08T15:06:08.953 回答