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

想点击一次删除一个子节点,为什么必须点击两次才能删除一个???

想点击一次删除一个子节点,为什么必须点击两次才能删除一个???

提问者:Sanlang 2015-01-07 15:33

个回答

  • 世界冠军
    2015-01-08 09:10:55
    已采纳

    <!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 firstChilds(data){
    
    var dd = data.firstChild
    
    while (dd.nodeType != 1){
    data.removeChild(dd);
    dd = data.firstChild
    }
    return dd
    }
    
    function clearText() {
      var content=document.getElementById("content");
      // 在此完成该函数
      
      var x = content.removeChild(firstChilds(content));  
      x = null;
    }  
    
    </script>
    
    <button onclick="clearText()">清除节点内容</button>
    
    
    
    </body>
    </html>

    在谷歌浏览器测试过,没问题

  • 世界冠军
    2015-01-21 16:26:40

    下次有问题Q弹个小窗口,哈哈~

  • 康振宁
    2015-01-07 18:20:55

    由于不同浏览器会有不同的解析,如果是用Chrome或者用firefox那么就会解析有空白节点,点击第一次的时候,是删除的空白节点,再点第二次的时候菜是删除相应的节点,而如果在IE中则不会解析出有空白节点