问答详情
源自:4-5 DOM节点删除之detach()和remove()区别

remove()方法

<body>

    <h3>给页面2个p元素节点绑定点击事件,点击后弹出自己本身的节点内容</h3>

    <p>元素p1,同时绑定点击事件</p>

    <p>元素p2,同时绑定点击事件</p>

    <h3>通过点击2个按钮后观察方法处理的区别</h3>

    <button>点击通过remove处理元素p1</button>

    <button>点击通过detach处理元素p2</button>

</body>

<script type="text/javascript">

    //给页面上2个p元素都绑定时间

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

        alert(e.target.innerHTML)

    })


    $("button:first").click(function() {

        var p = $("p:first").remove();

        p.css('color','red').text('p1通过remove处理后,点击该元素,事件丢失')

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

    });

remove处理后的p1不是移除了吗,怎么还能通过append()显示

提问者:慕粉4000810 2017-02-03 13:26

个回答

  • Lydiar3308665
    2017-02-03 13:53:49
    已采纳

    在执行完remove()操作之后还会返回$('p:first)为删除之前的引用,被p保存了。每次执行完jQuery的操作之后都会返回一个jQuery对象,这是链式操作的基础,你可以理解为这里p先存了,然后才删除的,所以可以append。

  • qq_墨尔本阳光_03756573
    2017-02-27 09:57:57

    数据没有删除啊  。。数据不是也被复原了吗

  • liqianpro
    2017-02-03 14:08:30

    变量p保存了被删除的p1;     p1被删除,html文档中没有p1了.