removeChild()这样写为啥不对?

来源:9-14 删除节点removeChild()

慕用7797256

2018-04-07 16:27

function clearText() {
  var content=document.getElementById("content");
  // 在此完成该函数
  for(var i=0;i<content.length-1;i>=0;i--){
      var x = content.childNodes[i]
     content.removeChild(x);
  }
  
}

这样写为啥没效果呢?哪里弄错了?求大神指点

写回答 关注

3回答

  • van_jf
    2018-06-05 17:17:53

    还有那个第5行没有分号。。。

  • 好吃的蛋包饭
    2018-05-27 19:59:42

    你这个语义行不通啊,初始值 i=0,中间还有两个循环条件,循环后条件更新是 i--,这不是自相矛盾了吗?

    正确的应该是初始值:i=content.childNodes.length-1; 循环条件:i>=0; 循环后:i--

    for(var i=content.childNodes.length-1;i>=0;i--)

  • 酒红色酸奶
    2018-04-08 19:47:03

    for循环语句中括号中只能有三个封号,就是三句话;

    还有就是在孩子节点的个数应该是content.childNodes.length;

    再者就是在不同浏览器中它的兼容性不同,孩子节点数目可能不同

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468194 学习 · 21891 问题

查看课程

相似问题