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

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

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

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

正在回答

3 回答

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

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

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

> childnodes

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


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

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

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

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

举报

0/150
提交
取消

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

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