为什么要双击才能移除一个节点??求教

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

慕圣8408166

2018-07-12 11:24

function clearText() {
  var content=document.getElementById("content");
  // 在此完成该函数
 
     var q= content.childNodes[0];
     content.removeChild(q);
  }

  我感觉一次就可以移除一个啊,为什么呢??

写回答 关注

3回答

  • Ahzang
    2018-08-03 16:43:22

    因为js中的设定是这样的,当这个结点数组中的某一个数组元素被删除,这个元素后面的所有元素都会前移一个单位,即他们的下标都会减一,且数组的长度也会减一,所以我的建议是把循环结束的条件控制为孩子结点数组长度为零时结束循环,每次只删除第一个数组元素。

  • hiddensorrow
    2018-07-13 16:07:11

    只点一下移除的是空白节点,打印content的子节点出来可以发现是这样的

    > childnodes

    NodeList(11) [text, h1, text, h1, text, h1, text, h1, text, h1, text]


  • 一像素成就大气之美
    2018-07-12 14:03:01

     var content=document.getElementById("content");
      // 在此完成该函数
      
         var q= content.childNodes[0];

    你声明变量的都在函数里面,当你点击运行这个函数的时候,它实际上第一遍是获取到content这个ID而已,后面删除节点识别不出来,建议在全局里面声明变量

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题