9-22练习题-怎么把鼠标经过整个一行的背景颜色变色 改成 该行该列变色,也就是说鼠标移到“学号”里,“学号”这个框背景颜色变色,而不是整行都变色。求大神

来源:9-22 编程练习

钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱

2017-07-06 11:03

<!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(){

        rowcolor();

    }   

    

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

     function rowcolor(){

         var tbody=document.getElementById('table').lastChild;

         trs=tbody.getElementsByTagName('tr');

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

            trs[i].onmouseover=function(){

                this.style.backgroundColor='#ccc';

            }

            trs[i].onmouseout=function(){

                this.style.backgroundColor='#f2f2f2';

            }

         }

     }

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

     function addone(obj){

         var tbody=document.getElementById('table').lastChild;   

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

         

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

          td.innerHTML="<input type='text'/>";

          tr.appendChild(td);

          

          td=document.createElement('td');

          td.innerHTML="<input type='text'/>";

          tr.appendChild(td);

          

          td=document.createElement('td');

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

          tr.appendChild(td);

          

          tbody.appendChild(tr);

          rowcolor();

     }

   

     // 创建删除函数

     function delrow(obj){

        var tbody=document.getElementById('table').lastChild;

        var tr=obj.parentNode.parentNode;

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

  </tr>


  <tr>

<td>xh002</td>

<td>刘小芳</td>

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

  </tr>  


  </table>

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

 </body>

</html>


写回答 关注

2回答

  • willinc
    2017-07-06 16:42:28

    trs=tbody.getElementsByTagName('tr');改成trs=tbody.getElementsByTagName('td');

  • 钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱
    2017-07-06 16:24:48

    我意思是说鼠标移到哪个单元格,哪个单元格就变色,而不是整行都变,求大神指点

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题