为什么删除功能没起作用??

来源:9-22 编程练习

益达佳帅

2017-08-10 22:37

<!DOCTYPE html>

<html>

 <head>

  <title>sd</title>  

  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>   

  <script type="text/javascript"> 

  

      window.onload = function(){

          var tr=document.getElementsByTagName("tr");

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

          {

              bgcChange(tr[i]);

          }

      }            

     // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。

        function bgcChange(obj)

     {

        obj.onmouseover=function(){

            obj.style.backgroundColor="#f2f2f2";

        }

        obj.onmouseout=function(){

            obj.style.backgroundColor="#fff";

        }

  } 

     

 

     

      // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;

      var num=0;

     function add(){

         var trlength = document.getElementsByTagName("tr").length;

         num=trlength;

         var tr = document.createElement("tr");

         var xh = document.createElement("td");

         var xm = document.createElement("td");

         var del = document.createElement("td");

         

         

         if(num>=100){

            xh.innerHTML="xh"+num;

         }else if(num<100 && num>=10){

             xh.innerHTML="xh0"+num;

         }else{

             xh.innerHTML="xh00"+num;

         }

         xm.innerHTML="第"+num+"个学生";

         del.innerHTML="<a href='javascript:;' onclick='remove(this)' >删除</a>";

         var tab=document.getElementById("table");

         tab.appendChild(tr);

         tr.appendChild(xh);

         tr.appendChild(xm);

         tr.appendChild(del);

         

         var tr = document.getElementsByTagName("tr");

         for(var i= 1;i<tr.length;i++){

             bgcChange(tr[i]);

         }

     }

     // 创建删除函数

     function remove(obj)

     {

         var del=obj.parentNode.parentNode;

         del.parentNode.removeChild(del);

     }



  </script> 

 </head> 

 <body> 

  <table border="1" width="50%" id="table">

  <tr>

<th>学号</th>

<th>姓名</th>

<th>操作</th>

  </tr>  


  <tr>

<td>xh001</td>

<td>王小明</td>

<td><a href="javascript:;" onclick="remove(this);">删除</a></td>   <!--在删除按钮上添加点击事件  -->

  </tr>


  <tr>

<td>xh002</td>

<td>刘小芳</td>

<td><a href="javascript:;" onclick="remove(this);">删除</a></td>   <!--在删除按钮上添加点击事件  -->

  </tr>  


  </table>

  <input type="button" value="添加一行" onclick="add()"/>   <!--在添加按钮上添加点击事件  -->

 </body>

</html>


写回答 关注

4回答

  • 又报错了T_T
    2017-08-11 16:32:36
    已采纳

    我在microsoft edge浏览器里面  我们老大在苹果safari测试也是有这个问题  测试是将自己删除了      

    我的极速浏览器 9.0.0.136版本未出现问题

     调试发现 程序 并没有执行你定义的remove函数               

    发现写成如下格式时 <a href="javascript:;" onclick="remove(this);">hahahah</a>     

    remove就无需在其他地方定义 而直接删除自身   目前推断为浏览器的内置方法生效¥——¥



    益达佳帅

    非常感谢!有点明白了

    2017-08-11 16:36:54

    共 1 条回复 >

  • pangys
    2017-08-13 18:30:23

    chrome60,不能删除

  • 益达佳帅
    2017-08-11 15:42:47

    http://img.mukewang.com/598d5fd80001040207610182.jpg按了删除按钮后,删除按钮消失,却没有删除

  • 又报错了T_T
    2017-08-11 09:47:36

    360极速浏览器测试通过 可以删除


    益达佳帅

    我也是360极速浏览器,但是删除功能就是不能用。不过,问题已经找到了,我将删除函数的函数名改成del后就可以用了,就是不知道原理.............

    2017-08-11 15:40:23

    共 1 条回复 >

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题