如何在使用`JQuery.remove()`之后重新打开一些东西?

时间:2017-03-29 08:49:46

标签: javascript jquery

我为我的应用程序使用了一个免费模板,使用此模板,有一个按钮可以隐藏"像这样的列表: enter image description here

小x按钮

执行的代码如下:

$(document).on('click', '.close-link', function () {
   var $BOX_PANEL = $(this).closest('.x_panel');
   $BOX_PANEL.remove();
});

现在我试图添加一个按钮来重新打开这个列表,但是我找不到办法来解决这个问题。我检查了JQuery remove()的文档,并且没有JQuery open()...

你们有个主意吗?

[编辑]也许HTML会很棒:

<div class="col-md-6 col-sm-12 col-xs-12">
    <div class="x_panel">
        <div class="x_title">
            <h2>Machines</h2>
               <ul class="nav navbar-right panel_toolbox">
                  <li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a></li>
                  <li class="dropdwon">
                     <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-wrench"></i></a>
                     <ul class="dropdown-menu" role="menu"></ul>
                  </li>
                  {{#if isNotHome}}<li><a class="backLocalHostDocker"><i class="fa fa-home"></i></a></li>{{/if}}
                  <li><a class="close-link" id="closeList"><i class="fa fa-close"></i></a></li>
              </ul>
           <div class="clearfix"></div>
         </div>
         <div class="x_content">
             <br />
             <ul class="container"></ul>
         </div>
    </div>
</div>

我刚刚清理了代码以显示结构

3 个答案:

答案 0 :(得分:2)

在这种情况下,不要remove()从DOM中删除元素。

只需使用

$BOX_PANEL.hide();

然后,只要您想要显示它,请使用

$BOX_PANEL.show();

答案 1 :(得分:0)

使用jQuery detach()

.detach()方法与.remove()相同,除了.detach()保留与删除的元素关联的所有jQuery数据。当删除的元素稍后要重新插入DOM时,此方法很有用。

jQuery detach()

答案 2 :(得分:0)

您可以将jQuery toggle()功能用于Show/Hide代码

示例:

$(document).on('click', '.close-link', function () {
    $('.x_panel').toggle();
});

现在,您可以点击show/hide

.x_panel阻止.close-link阻止def get_my_job(): while True: job = q.get() if job != 'not mine': return job q.put(job) time.sleep(random()/2) //preventing deadlocks...
  

以下是toggle()功能的详细信息。