章节
问答
课签
笔记
评论
占位
占位

DOM节点删除之empty()的基本用法

要移除页面上节点是开发者常见的操作,jQuery提供了几种不同的方法用来处理这个问题,这里我们开仔细了解下empty方法

empty 顾名思义,清空方法,但是与删除又有点不一样,因为它只移除了 指定元素中的所有子节点。

这个方法不仅移除子元素(和其他后代元素),同样移除元素里的文本。因为,根据说明,元素里任何文本字符串都被看做是该元素的子节点。请看下面的HTML:

<div class="hello"><p>慕课网</p></div>

如果我们通过empty方法移除里面div的所有元素,它只是清空内部的html代码,但是标记仍然留在DOM中

//通过empty处理
$('.hello').empty()

//结果:<p>慕课网</p>被移除
<div class="hello"></div>


可以参考右边的代码区域:

通过empty移除了当前div元素下的所有p元素
但是本身id=test的div元素没有被删除

任务

?不会了怎么办
||
1
2
<!DOCTYPE html>
<html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / Pikachu2016
没了是因为它的默认高度是0,你在它的样式中添加一个高度height:100就能看见它是未被删除的

最赞回答 / qq_嶸歸_0
你给那个div设置个高度和边框就可以看出效果了

+ 我来回答 回答最高可+2积分

最赞回答 / 呆呆小志
没有设置height高度,所以是按字体大小自动配置高度的,当文本没有了,高度相当于为0,当然看不到了

已采纳回答 / Ryan幕
那个js文件貌似有些问题,可以用 http://libs.baidu.com/jquery/1.9.1/jquery.js 这个试试

已采纳回答 / 穗源
单引号包含双引号的时候,里面的双引号不用转义,反之亦然。在js当中没什么区别,都是可以括住字符串的,所以你会发现一般写这两个队都对。不过在字符串拼接与函数传参混合的时候,由于同种引号不能嵌套,所以需要者两种引号配合使用,才能实现。举例如下:td=$("<div class='result'><a href='../student/modifystudent.aspx?sno="+sno+"' target='_blank'>修改</a></div>");  ...

已采纳回答 / 慕哥8948246
不会 只会清除掉选中的元素

最新回答 / 橙子哥哥
是的,文本属于里面的innerHtml,文本节点。有的浏览器还把注释也作为节点。

已采纳回答 / hhhwbh
.empty()删除子元素和后代元素.remove()删除包括自身元素及后代,移除绑定事件和jQuery数据

最赞回答 / 咿呀咿呀哒哒
$("#test  p:first-child").empty()  这样写可以,.empty()不能有参数

最新回答 / qq_一个人乐的小兔子_03311008
是没有区别的,网页中F12调试可以比较发现,两种方法都是删除了test内部的所有html代码。

最新回答 / 慕仔3495855
没看到第三章,难道是被detach()了???
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言