问答详情
源自:4-4 DOM节点删除之保留数据的删除操作detach()

为什么多次点击移动P元素,不会出现多个P元素?

    var p;
    $("#bt1").click(function() {
        if (!$("p").length) return; //去重
        //通过detach方法删除元素
        //只是页面不可见,但是这个节点还是保存在内存中
        //数据与事件都不会丢失
        p = $("p").detach()
    });

    $("#bt2").click(function() {           //问题:重复点击为什么不会出现多行
        //把p元素在添加到页面中            //<p>标签?
        //事件还是存在
        $("body").append(p);          
    });


提问者:慕粉2013053516 2017-01-12 15:45

个回答

  • 七戒0
    2017-01-12 16:54:37
    已采纳

    .detach()会把移除的DOM储存,当<p>标签被执行$("body").append(p); 后,.detach()存储的DOM也就没了,这不是复制之类的方法,是对一个对象的移动