DOM节点删除之保留数据的删除操作detach()
2017-08-09 14:18
375 查看
DOM节点删除之保留数据的删除操作detach()
如果我们希望临时删除页面上的节点,但是又不希望节点上的数据与事件丢失,并且能在下一个时间段让这个删除的节点显示到页面,这时候就可以使用detach方法来处理detach从字面上就很容易理解。让一个web元素托管。即从当前页面中移除该元素,但保留这个元素的内存模型对象。
来看看jquery官方文档的解释:
这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来。 $("div").detach()这一句会移除对象,仅仅是显示效果没有了。但是内存中还是存在的。当你append之后,又重新回到了文档流中。就又显示出来了。
当然这里要特别注意,detach方法是JQuery特有的,所以它只能处理通过JQuery的方法绑定的事件或者数据
参考右边的代码区域,通过 $("p").detach()把所有的P元素删除后,再通过append把删除的p元素放到页面上,通过点击文字,可以证明事件没有丢失
DOM节点删除之detach()和remove()区别
JQuery是一个很大强的工具库,在工作开发中,有些方法因为不常用到,或是没有注意到而被我们忽略。remove()和detach()可能就是其中的一个,可能remove()我们用得比较多,而detach()就可能会很少了
通过一张对比表来解释2个方法之间的不同
方法名 | 参数 | 事件及数据是否也被移除 | 元素自身是否被移除 |
remove | 支持选择器表达 | 是 | 是(无参数时),有参数时要根据参数所涉及的范围 |
detach | 参数同remove | 否 | 情况同remove |
无参数,移除自身整个节点以及该节点的内部的所有节点,包括节点上事件与数据
有参数,移除筛选出的节点以及该节点的内部的所有节点,包括节点上事件与数据
detach:移除节点
移除的处理与remove一致
与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来
例如:$("p").detach()这一句会移除对象,仅仅是显示效果没有了。但是内存中还是存在的。当你append之后,又重新回到了文档流中。就又显示出来了。
相关文章推荐
- DOM节点删除之保留数据的删除操作detach()
- DOM节点删除之保留数据的删除操作detach()
- DOM节点删除之保留数据的删除操作detach()
- html dom节点操作(获取/修改/添加或删除)
- DOM删除节点的操作
- jQueryDom操作之删除节点
- jQuery的DOM操作之删除节点示例
- Zookeeper命令行操作(常用命令;客户端连接;查看znode路径;创建节点;获取znode数据,查看节点内容,设置节点内容,删除节点;监听znode事件;telnet连接zookeeper)
- 设计一个整型链表类list,能够实现链表节点的插入、删除、以及链表数据的输出操作。
- html dom节点操作(获取/修改/添加或删除)
- js之DOM操作(删除节点removeChild())
- DOM节点删除之detach()和remove()区别
- js操作DOM--添加、删除节点的简单实例
- js操作DOM--添加、删除节点的简单实例
- JqueryDOM操作-删除节点
- jquery Dom操作_删除节点
- 数据结构——单链表的创建、删除、遍历以及节点的插入、删除等操作
- 删去单链表中第i个节点的操作。删除单链表中数据域为x的前驱元素。数据结构。
- detach与remove区别,以及detach保留被删除的元素数据,使用
- javascript操作DOM--添加、删除节点的简单实例