问答详情
源自:9-14 删除节点removeChild()

为什么我总是需要按两下按钮才反应

源代码如下:

<!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");
  // 在此完成该函数
  var nodes=content.childNodes;
  for(var i=0;i<nodes.length;i++){
     content.removeChild(nodes[0]);
     break;
  }
 
}
</script>

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



</body>
</html>

提问者:weibo_任_无忧_0 2015-11-30 17:10

个回答

  • 一毛钱
    2015-11-30 17:22:26
    已采纳

    看看这个两个的区别 children和childnodes,修改为children就可以了。

    childNodes 属性,标准的,它返回指定元素的子元素集合,包括HTML节点,所有属性,文本。

    children 属性,非标准的,它返回指定元素的子元素集合。经测试,它只返回HTML节点,甚至不返回文本节点。且在所有浏览器下表现惊人的一致

  • 帮秋
    2015-11-30 17:16:13

    function clearText() {

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

      for(var i=content.childNodes.length-1;i>=0;i--){

         var childNode = content.childNodes[i];

         content.removeChild(childNode);

      }

    }


  • 一毛钱
    2015-11-30 17:12:49

    按两下按钮?哪里的按钮?