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

第一次点击按钮移除两个节点

哪有问题啊,为什么点第一次清除时html,与php所在的节点一起被移除呢呢,纳闷

<script type="text/javascript">

function clearText() {

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

  // 在此完成该函数

  var ch_node=document.getElementsByTagName("h1");

  for(var i=0;i<ch_node.length;i++){

      var clear=content.removeChild(ch_node[i]);

     clear=null;

  }

   

  

}

</script>


提问者:慕UI8820655 2016-10-17 12:27

个回答

  • qq_梧桐风起于青萍之末_0
    2016-10-19 15:36:52
    已采纳

    <script type="text/javascript">

    function clearText() {

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

      var ch_node=document.getElementsByTagName("h1");

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

          var clear=content.removeChild(ch_node[i]);     }}

    </script>

    你的错误在从前面往后面删除节点,当你删掉第一个节点HTML的时候,ch_node数组就发生变化,以前的第二个节点就变成了第一个节点,这个时候你的i又在自增,当i变成1的时候,第二个节点PHP的下标已经是0了,所以就删除了最开始的第三个节点JavaScript;所以你的代码不能删掉PHP节点和jQuery节点。所以都是走后面往前面写,你再研究一下

  • qq_梧桐风起于青萍之末_0
    2016-10-19 15:39:24

    本来说回去就给你研究下,回去就被室友拖去开黑了,差点忘了,不好意思哦


  • qq_梧桐风起于青萍之末_0
    2016-10-17 20:42:13

    这问题有点意思,图书馆要闭馆了,回去给你研究一下