为了账号安全,请及时绑定邮箱和手机立即绑定

使用removeChild()方法利用for循环删除节点会出错。用remove()就可以

removeChild只能删除一个,循环删除时用这个就报错。换成remove就可以了!这是为什么?

正在回答

4 回答

你倒是把代码贴出来
0 回复 有任何疑惑可以回复我~

sorry,作为一枚萌新,我怀着一腔热血回答了之后才发现,oh my god,这是两年前的问题,尴尬。

0 回复 有任何疑惑可以回复我~
 你的这一块都是废话:for (var i=0;i<num;i++){ content.remove(content.childNodes[i].innerHTML)  }
 就相当于这一句话:content.remove();  
 如果你非要用for 不是removeChild()没用,而是应该这么写:content.removeChild(content.firstChild);
 你能理解吗?即使你那种想法不报错,也是删不干净的,因为动态变化的长度你非要把它静态删,你写法就是错误的
 ,当然要报错。


0 回复 有任何疑惑可以回复我~

<div id="content">

  <h1>html</h1>

  <h1>php</h1>

  <h1>javascript</h1>

  <h1>jquery</h1>

  <h1>java</h1>

</div>


<script type="text/javascript">

function clearText() {

  var content=document.getElementById("content");

  // 在此完成该函数

  var num=content.childNodes.length;

  for (var i=0;i<num;i++){

      content.remove(content.childNodes[i].innerHTML)

  }

  

}

</script>


<button onclick="clearText()">清除节点内容</button>

这是Javas进阶篇中的删除节点removeChild()的内容的任务。for 循环中要把removeChild()换成remove()才有用

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

使用removeChild()方法利用for循环删除节点会出错。用remove()就可以

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信