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

为什么点了之后没反应??

<!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 =0;i<content.length;i++)

  {

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

  }

  

}

</script>

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

</body>

</html>



正在回答

3 回答

至于不能一次性清除所有的子节点的节点值,可以把循环条件变为for(i=content.childNodes.length-1;i>=0;i--)

这样就可以一次性清除所有显示内容

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

未來Miral 提问者

非常感谢!
2016-11-22 回复 有任何疑惑可以回复我~
function clearText() {
  var content=document.getElementById("content");
  // 在此完成该函数
  var content1=content.childNodes;
  
  for(var i=0;i<content1.length;i++)
  {
      /*
      跳过空格,因为节点和空格是交替出现的,而且子节点数组长度也会因删除而变化,所以跳过第一个空格后,会直                                                                   
      接一个节点一个节点的删除,直到将节点全部删除,实现点击一次删除所有节点的目的。
      这种方法有点取巧的方式,标准做法是倒着删。                  
      */      
      if(content1[i].nodeType!=1)              
      {
          
          continue;
      }
      content.removeChild(content1[i]); 
  }
  
}


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

你好 ,你的content是div而不是它的孩子节点,应该把循环变成i<content.childNodes.length;  这样就对了

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

举报

0/150
提交
取消

为什么点了之后没反应??

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