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

删除节点removeChild()

removeChild() 方法从子节点列表中删除某个节点。如删除成功,此方法可返回被删除的节点,如失败,则返回 NULL。

语法:

nodeObject.removeChild(node)

参数:

node :必需,指定需要删除的节点。

我们来看看下面代码,删除子点。

运行结果:

HTML
删除节点的内容: javascript

注意: 把删除的子节点赋值给 x,这个子节点不在DOM树中,但是还存在内存中,可通过 x 操作。

如果要完全删除对象,给 x 赋 null 值,代码如下:

 

任务

试一试,定义clearText()函数,完成节点内容的删除。

1. 删除该节点的内容,先要获取子节点。

2. 然后使用循环遍历每个子节点。

3. 使用removeChild()删除节点。

?不会了怎么办

参考代码:

function clearText() {
  var content=document.getElementById("content");
  for(var i=content.childNodes.length-1;i>=0;i--){
     var childNode = content.childNodes[i];
     content.removeChild(childNode);
  }
}

||
1
2
<!DOCTYPE HTML>
<html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

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

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

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

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

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

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

举报

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

最新回答 / 慕码人7255994
找到原因了:首先应该是for,其次应该是i--附代码:<...code...>

最赞回答 / weixin_慕神4436990
这个可以从后往前删除就好了var i=content.childNodes.length-1;i>=0;i--这样就好了     

最赞回答 / coralfox
有的回答说是空白节点的问题,我不是很赞同我觉得应该是动态更新的问题0 html1 php2 javascript3 jquery4 java删除0 对应 html后浏览器已经更新为0 php1 javascript2 jquery3 java但代码还是去删除  1 对应 javascript所以点击一次删除,会剩下 php   jquery

最新回答 / weixin_慕桂英7428871
可能是获取的childNode[i]是空格,根据前面几个part的说法是IE忽略空格,而像chrome,火狐等是不忽略的。

已采纳回答 / 慕瓜2570278
<...code...>这个应该放在for循环里面

最新回答 / 蜘蛛侦探reg
明白了,判断不能写i<content.childNodes.length;这样写var length=content.childNodes.length.这样一来length的值就固定了,只需要执行一次就能全部删除。<script type="text/javascript">function clearText() {  var content=document.getElementById("content");  var length=content.childNodes.leng...

最新回答 / 搬砖人干饭人
正确的一次删完用答案那个方法也会也能理解 但是自己写这个点一次删一个是啥原理没懂

最新回答 / 问题杀手
因为getElementById只获取一个对象document.getElementById("content").innerHTML="";  直接一句代码搞定

最新回答 / 阳火锅
<...图片...>把这个换成 var x = content.children[0];

最赞回答 / 暗中讨饭
因为每循环就会删除一个子节点,删除的子节点不再dom树结构中,所以下一个要删除的子节点就会占据上一个已经删除了的子节点的位置,下标【i】这里不能写i,因为子节点的位置每一次遍历都在发生变化。

最新回答 / 问题杀手
while对大部分开发者不友好,出来都是用for的

最新回答 / 慕少4313672
每次从开头第0个子节点开始删除节点

最新回答 / weixin_慕九州1422659
<script type="text/javascript">function clearText() {  var content=document.getElementById("content");  // 在此完成该函数  for(i=1;i<content.childNodes.length;i++){      var cinchild = content.childNodes[i];      content.removeChild(cinchild);        } ...
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言