【问题标题】:jQuery | Click child, hides parentjQuery |单击子级,隐藏父级
【发布时间】:2010-05-09 01:17:58
【问题描述】:

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

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

【问题讨论】:

    标签: jquery html parent-child show-hide


    【解决方案1】:

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

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

    这来自您单击最整洁的&lt;div&gt; 祖先并将其向上滑动的.child。如果您在孩子和父母之间可能有其他 div,那么我建议给 &lt;div&gt; 你 do 想要关闭一个类,并更改最近的调用以查找特定的 &lt;div&gt;,就像这样:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          猜你喜欢
          • 2014-07-25
          • 1970-01-01
          • 2012-08-16
          • 1970-01-01
          • 2012-08-09
          • 2014-03-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多