新增行无法改变颜色

来源:9-22 编程练习

myrtis

2015-09-11 21:36

为什么新增行无法改变颜色,已添加了相关代码。如下


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

        for (i=0;i<myline.length;i++)

        {

            mybgcChange(myline[i]);

        }

        

     function mybgcChange(myobj)

     {

        myobj.onmouseover=function()

        {

        myobj.style.backgroundColor="#f2f2f2";

        } 

     

        myobj.onmouseout=function()

        { 

        myobj.style.backgroundColor="#fff";

        } 

     }

    } 

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

    var num=2;

    function addLine()

    {

    num++;

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

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

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

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

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

      mytd1.innerHTML="xh00"+num;

      mytd2.innerHTML="学生"+num;

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

      mytable.appendChild(mytr);

      mytr.appendChild(mytd1);

      mytr.appendChild(mytd2);

      mytr.appendChild(mydel);

    

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

        for (i=0;i<myline.length;i++)

        {

            mybgcChange(myline[i]);

        }

    }    

    function fundel(delobj){

        var delLine=delobj.parentNode.parentNode;

        delLine.parentNode.removeChild(delLine);

    }




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

  </tr>


  <tr>

<td>xh002</td>

<td>刘小芳</td>

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

  </tr>  


  </table>

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

 </body>

</html>




写回答 关注

1回答

  • 伊兮尘昔
    2015-09-14 14:48:56
    已采纳

    function mybgcChange(myobj)  把这个函数体拿出来放到 window.onload   这个的外面,就可以了,出现这样的原因是因为,如果放到 window.onload这个里面,在想调用的时候,调用不到

    myrtis

    真的是这个原因,非常感谢!

    2015-09-14 15:30:40

    共 1 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题