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

关于变量p保存的值的问题

我在p标签上写了自己的方法,是将p直接detach掉,这样按理来说再点击“移动p标签”不应该失败的吗?毕竟变量p未被赋值应该是undefined才对啊...可是仍然能够添加成功,有好心人帮忙解读一下吗??非常感谢!

以下附上代码

<script type="text/javascript">

    var arr = [];

    $('p').click(function(e) {

        $this = $(this);

        arr.push($this.detach());

        alert("p is detached and the arr's size now is "+(arr.length+1))

    })

    var p;

    $("#bt1").click(function() {

        if (!$("p").length) return; //去重

        //通过detach方法删除元素

        //只是页面不可见,但是这个节点还是保存在内存中

        //数据与事件都不会丢失

        p = $("p").detach()

    });


    $("#bt2").click(function() {

        //把p元素在添加到页面中

        //事件还是存在

        $("body").append(p);

    });

    </script>


提问者:qq_Sakuragi10_0 2019-04-08 19:21

个回答

  • qq_Sakuragi10_0
    2019-04-08 19:22:46

    啊啊抱歉这个问题解决了,确实不能再添加,但是还有一个问题,为什么会是先alert再删除啊。。。