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

为什么运行结果删除前面的序号是12345?

我用的360,不是应该算文字空白节点吗?我试了下,childNodes的长度是11啊,那应该是删除13579啊?怎么会是连续的?

正在回答

1 回答

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

  // 在此完成该函数

  document.write(content.childNodes.length);

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

  {

      if(content.childNodes[i].nodeType!=3)

      {

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

          document.write("删除"+i+":"+x.innerHTML+"<br/>");

          

      }

document.write(content.childNodes.length); 

  }

}

在你的代码中添加了两个document.write(content.childNodes.length);  当for循环执行第一次删除后,节点变成了10个,也就是说子节点数组中 node[0] node[1] 都是空白节点了,node[2] 变成了<h1>php</h1>,然后继续循环,只要删除一次节点 数组长度就减1.然后从新计算顺序。不知道你明白不?

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

举报

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

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

进入课程

为什么运行结果删除前面的序号是12345?

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