为什么我添加的行,不会随鼠标的经过而改变颜色呢?

来源:9-22 编程练习

飞尔斯

2016-04-12 03:53

代码如下:

<!DOCTYPE html>

<html>

 <head>

  <title> new document </title>  

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

  <script type="text/javascript"> 

  

      window.onload = function(){

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

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

      {

      changeColor(mychar[i]);

      }

      }            

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

      function changeColor(mycolor){   

         mycolor.onmouseover = function(){

          mycolor.style.backgroundColor = "blue";

         }

         mycolor.onmouseout = function(){

          mycolor.style.backgroundColor = "white";

         }

     

 

 

     }

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

     var num = 2;

     function addtr(){

      num++;

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

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

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

      if(num<10)

      {

      ntd1.innerHTML = "xh00"+num;

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

      {

      ntd1.innerHTML = "xh0"+num;

      }else

      {

      ntd1.innerHTML = "xh"+num;

      }

      ntd2.innerHTML = "第"+num+"位学生";

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

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

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

      tab.appendChild(ntr);

      ntr.appendChild(ntd1);

      ntr.appendChild(ntd2);

      ntr.appendChild(del);

     }

   

     

     // 创建删除函数

    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="addtr()"/>   <!--在添加按钮上添加点击事件  -->

 </body>

</html>


写回答 关注

4回答

  • 灼人的花_9
    2016-04-12 15:10:36
    已采纳

    改变HTML元素样式的语法是
    Object.style.property= new style;     如:Object.style.backgroundColor = "white";

    Object是获取的元素对象,例如通过document.getElementById("id");

    mycolor是参数而非对象

    飞尔斯

    非常感谢!

    2016-04-12 21:46:19

    共 1 条回复 >

  • kevine099
    2016-04-15 19:01:34

    楼主,我试了试你的代码,可以啊?根本没啥问题啊??

    飞尔斯 回复kevine...

    新添加的不行

    2016-05-10 22:16:45

    共 3 条回复 >

  • 飞尔斯
    2016-04-12 21:47:16

    非常感谢各位的解答

  • dadi123
    2016-04-12 14:40:52

    mycolor是参数,不是对象

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题