可以帮我看看添加哪里出错了

来源:9-22 编程练习

qq_好觉睡醒_0

2017-09-17 17:27

<!DOCTYPE html>

<html>

 <head>

  <title> new document </title>  

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

  <script type="text/javascript"> 

  

      window.onload = function(){

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

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

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

            changebg(trLength[i]);

            

        } 

function changebg(obj){

   obj.onmouseover=function(){

       obj.style.backgroundColor="#f2f2f2";

   } 

   obj.onmouseout=function(){

       obj.style.backgroundColor="#fff";

   } 

}

     

 

}

        

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

        function add(){

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

             var num=t.length;

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

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

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

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

            b.innerHTML="xh00"+num+"</td>";

            c.innerHTML="第"+num+"个学生"+"</td>";

            d.innerHTML='<a href="javascript:;"  onclick="c(this)">删除</a>'+"</td>"+"</tr>";

            var top=document.getElementsByTagName("table");

            top.appendChild(a);

            a.appendChild(b);

            a.appendChild(c);

            a.appendChild(d);

             for(var i=0;i<num;i++){

                changebg(t[i]);

            } 

        }

   

     

     // 创建删除函数

     function c(deletestu){

       

        var  stu=deletestu.parentNode.parentNode;

        stu.parentNode.removeChild(stu);

     }



  </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="c(this)">删除</a></td>   <!--在删除按钮上添加点击事件  -->

  </tr>


  <tr>

<td>xh002</td>

<td>刘小芳</td>

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

  </tr>  


  </table>

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

 </body>

</html>


写回答 关注

2回答

  • qq_灰色头像_17
    2017-09-23 15:59:11

    你的代码问题是大括号}错误,第一个函数 window.onload = function()的结尾大括号}跑到第二个函数function changebg(obj)后面了


  • qq_灰色头像_17
    2017-09-23 15:55:41

    问一下,

      // 创建删除函数

      function c(deletestu){

           var  stu=deletestu.parentNode.parentNode;

            stu.parentNode.removeChild(stu);

         }

    这个函数能解释下吗,为什么这么写,

    onclick="c(this)"为什么调用的时候里面是this,什么意思

    qq_好觉睡... 回复qq_灰色头...

    因为要通过他的父节点来删除他本身,就要提供他本身的节点

    2017-09-23 17:17:09

    共 3 条回复 >

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题