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

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

weibo_任_无忧_0

2015-11-30 17:10

源代码如下:

<!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>

写回答 关注

3回答

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

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

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

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

    weibo_...

    对,可以了,可为什么会这样,是浏览器兼容问题么?

    2015-11-30 17:25:16

    共 1 条回复 >

  • 帮秋
    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

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

    weibo_...

    不好意思,刚刚代码上传错了,已修改

    2015-11-30 17:15:16

    共 1 条回复 >

JavaScript进阶篇

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

468276 学习 · 21892 问题

查看课程

相似问题