如何撤消.detach()

How to I undo .detach()?

本文关键字:detach 撤消 何撤消      更新时间:2023-09-26

我使用JQuery 1.5和下面的代码来分离li元素/一个特定的类,当一个按钮被点击。我想知道的是,当按钮再次被点击时,我如何将元素添加回页面?

    <script>
    $("#remove").click(function () {
      $('li.type').fadeOut(300, function() { $(this).detach(); });
    });</script>

问题是:在页面上你想把元素放回去吗?例如,如果所有的li元素都回到<ul id="foo"></ul>中,您可以使用这样的命令:

var items = [];
$('li.type').fadeOut(300, function() {
     items.push( $(this).detach() );
});
$('#replace').click(function() {
    for(var i = 0; i < items.length; i++) {
        $("ul#foo").append(items[i]);
    }
    items = [];
});

这里不能for循环。

var demo;
$('li.type').fadeOut(300, function() {
     demo = $(this).detach();
});
$('#replace').click(function() {
   $("ul#foo").append(demo);
});