我的问题出在哪儿了 添加一行onmouse时不改变背景颜色

来源:9-22 编程练习

大熊丶

2015-12-10 16:22

<!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 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=2;

     function add(){

        num++;

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

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

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

        xh.innerHTML="xh00"+num;

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

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

        del.innerHTML="<a href='javascript:;' onclick='del(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= 0;i<tr.length;i++)

          {

              bgcChange(tr[i]);

          }

     }

     

     // 创建删除函数

     function del(obj)

     {

         var tr=obj.parentNode.parentNode;

         tr.parentNode.removeChild(tr);

     }

     

 

 



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

  </tr>


  <tr>

<td>xh002</td>

<td>刘小芳</td>

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

  </tr>  


  </table>

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

 </body>

</html>


写回答 关注

3回答

  • 大熊丶
    2015-12-10 16:53:13

    <!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 tr = document.getElementsByTagName("tr")    

    //获取tr    

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

    {    

    cha(tr[i]);    

    }    

    //遍历tr    

    function cha(obj)//创建改变背景颜色的函数    

    {    

    obj.onmouseover=function()//鼠标覆盖    

    {    

    obj.style.backgroundColor="red";    

    }    

    obj.onmouseout=function()//鼠标移开    

    {    

    obj.style.backgroundColor="#fff";    

    }    

    }    

       

    }    

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

       

    var num=2;    

    function add(){    

    //创建添加行的函数    

    num++    

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

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

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

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

    td.innerHTML="xh00"+num;    

    ad.innerHTML="请输入学生姓名";    

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

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

    table.appendChild(tr);    

    tr.appendChild(td);    

    tr.appendChild(ad);    

    tr.appendChild(del);    

    var tr = document.getElementsByTagName("tr")    

    //获取tr    

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

    {    

    cha(tr[i]);    

    }    

       

    }    

    // 创建删除函数    

    function del(obj)    

    {    

    var tr = obj.parentNode.parentNode;    

    tr.parentNode.removeChild(tr);    

    }    

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

    </tr>    

    <tr>    

    <td>xh002</td>    

    <td>刘小芳</td>    

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

    </tr>      

    </table>    

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

    </body>    

    </html>    


    大熊丶

    是这个代码添加行后 背景颜色不能改变

    2015-12-10 16:53:54

    共 1 条回复 >

  • 大熊丶
    2015-12-10 16:51:59

    粘错代码了 

  • echo_kinchao
    2015-12-10 16:48:24

    你的颜色判断逻辑不对

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题