为什么我的按钮点击后没有清除内容

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

花椋

2018-05-08 16:44

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>

<body>
<div id="content">
  <h1>html</h1>
  <h1>php</h1>
  <h1>javascript</h1>
  <h1>jquery</h1>
  <h1>java</h1>
</div>

<script type="text/javascript">
function clearText() {
  var content=document.getElementById("content");
  // 在此完成该函数
  for(var i=o;i<content.childNodes.length;i++){
      var x=document.removeChild(content.childNodes[i]);
  }
 
}
</script>

<button onclick="clearText()">清除节点内容</button>



</body>
</html>

写回答 关注

2回答

  • 花椋
    2018-05-09 20:08:21

    但我这样写是哪里错了呀?

    花椋 回复慕UI624...

    谢谢,总是会出这种白痴的错误

    2018-05-21 18:32:32

    共 2 条回复 >

  • 皇骑
    2018-05-09 11:26:14

    使用for(var i=o;i<content.childNodes.length;i++)的话,每次循环后length都在减小,可以定义在外面:

      var len = content.childNodes.length;

      for(var i=o;i<len;i++){
          var x=document.removeChild(content.childNodes[i]);
      }

    皇骑

    for(var i=o;i<content.childNodes.length;i++)表示从头开始移除, i = 0时,content.childNodes[i]是个空白文本节点,点击按钮后没有变化,之后类推。 以下是我成功的代码,你运行然后分析一下大概就明白了: // 在此完成该函数 var len = content.childNodes.length; for (i = 0; i < len; i++) { content.removeChild(content.childNodes[0]); } }

    2018-05-11 20:26:18

    共 2 条回复 >

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题