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

关于本节的两个小问题,求解答!!!

问题一:

            为什么删除代码content.childNodes[0]可以一次性删除所有节点,而                                       content.childNodes[i]却不行呢?

问题二:  

for (var i=0;i<content.childNodes.length;i++){

       var x = content.removeChild(content.childNodes[i]);

       document.write(x.innerHTML + "<br>");//********//

   }

为什么这部分代码可以一次性删除所有节点,而少了//*******//这行代码却不行呢?


正在回答

2 回答

content.childNodes[0]获取的是整个子元素的集合,所以可以一次性删除。content.childNodes[i]获取到的是某一个子元素。

0 回复 有任何疑惑可以回复我~
  for(var i=0;i<n;i++){
      var x = content.removeChild(content.childNodes[0]);
      //为什么是用content.childNodes[0]而不是用content.childNodes[i]呢?
  }

第一次循环删除了第一个节点,而content.childNodes的长度也随之改变,之前第二个下标为[1]元素就成了下标为[0]的元素。所以每执行一次删除,content.childNodes的下标都会进1。

你的第二个问题没看懂。

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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

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

进入课程

关于本节的两个小问题,求解答!!!

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