detach()和remove()的区别

来源:4-5 DOM节点删除之detach()和remove()区别

IsYang

2016-03-31 16:11

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

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

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


以上代码,p首先被移除掉了,自身元素p标签也应该将移除了,可是为什么p又重新设置样式及内容的时候却还是会是p标签呢


写回答 关注

3回答

  • ray1208
    2016-07-27 21:56:34

    在一个函数里,定义一个临时变量,remove():临时变量清空/detach():临时变量内的值还在。当然函数执行完毕以后,所有的这些,都释放了,消逝在风雨中。

  • 湮灭狐狸
    2016-04-17 10:35:31

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

    1:console.log(p.html())

    2:console.log(p)

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

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



    1:元素p1,同时绑定点击事件

    2:[p, prevObject: jQuery.fn.jQuery.init[1], context: document, selector: "p:first"]


    qq_悠悠我... 回复qq_悠悠我...

    从DOM中删除所有匹配的元素。 这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。但除了这个元素本身得以保留之外,其他的比如绑定的事件,附加的数据等都会被移除。

    2016-07-17 22:35:46

    共 2 条回复 >

  • IsYang
    2016-03-31 16:14:54

    难道$("p:first")当做为参数了么?

jQuery基础(二)—DOM篇

jQuery第二阶段开启DOM修炼,了解创建、插入、删除与替换

114014 学习 · 590 问题

查看课程

相似问题