Jquery里面三个文档操作方法比较-empty(),detach()和remove

     Jquery里面有三种常用的文档操作方法去控制一个标签内容在DOM里面消失,分别是empty(),detach()和remove()。对于每个方法运用后的表面效果是一样的,但是实际上的每个方法对DOM操作以后产生的影响各不相同。下面小编结合实例对三个方法一一说明。为了配合说明,下面是整个操作对象-DOM文件


一、empty(),detach()和remove()用法介绍

1、empty()      

     empty()是一种删除标签内容方式,但是保留标签,w3School上面的解释如下:

定义和用法

empty() 方法从被选元素移除所有内容,包括所有文本和子节点。

语法

$(selector).empty()

2、detach()

detach()方法,不仅删除标签的内容,也删除了DOM中标签本身,但是其绑定的事件,数据等仍然保留在DOM中,你可以在删除其内容后继续进行对象操作。

定义和用法

detach() 方法移除被选元素,包括所有文本和子节点。

这个方法会保留 jQuery 对象中的匹配的元素,因而可以在将来再使用这些匹配的元素。

detach() 会保留所有绑定的事件、附加的数据,这一点与 remove() 不同。

语法

$(selector).detach()

3、remove()

remove()方法,不仅删除标签的内容,也删除了DOM中标签本身,同样其绑定的事件,数据等都被删除。

定义和用法

remove() 方法移除被选元素,包括所有文本和子节点。

该方法不会把匹配的元素从 jQuery 对象中删除,因而可以在将来再使用这些匹配的元素。

但除了这个元素本身得以保留之外,remove() 不会保留元素的 jQuery 数据。其他的比如绑定的事件、附加的数据等都会被移除。这一点与 detach() 不同。

语法

$(selector).remove()
二、实例比较

1、删除效果比较

(1)empty():


点击按钮之后效果自然不用说了,h2被移动到在第一个p(内容已被删除,所以h2上面没有内容)和第二个p之后


(2)detach()和remove()对于删除效果是一样的:


点击按钮后,效果就是将h2只移动到第二个P(this....)后面,第一个p已经完全不存在DOM中了。


2、remove()和detach()对其绑定的事件和数据影响的比较

对h2标签添加字体变大效果,观察其被移出后,事件是否还被绑定

(1)remove()


明显在h2上单击仍然可以实现放大字体的效果。下面看remove()方法的效果:

单击h2以后并不能实现字体放大效果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值