为了账号安全,请及时绑定邮箱和手机立即绑定

新加的行,鼠标移动为什么不会变色啊,查了好久?

<!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=1;i<tr.length;i++)

         {

             bgChange(tr[i]);

         }

     function bgChange(obj)

     {

        obj.onmouseover=function(){

            obj.style.backgroundColor="red";

        }

        obj.onmouseout=function(){

            obj.style.backgroundColor="#fff";

        } 

     }

}

     

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

      var num=2;

     function add()

     {  num++;

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

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

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

         td1.innerHTML="xh00"+num;

         td2.innerHTML="第"+num+"个学生";

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

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

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

         tab.appendChild(tr);

         tr.appendChild(td1);

         tr.appendChild(td2);

         tr.appendChild(td3);

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

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

         {

             bgChange(tr[i]);

         }

     }

     

     // 创建删除函数

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

  </tr>


  <tr>

<td>xh002</td>

<td>刘小芳</td>

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

  </tr>  


  </table>

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

 </body>

</html>


正在回答

3 回答

啊啊谢谢我发现这个问题了


0 回复 有任何疑惑可以回复我~

<script type="text/javascript"> 

      function bgChange(obj)

     {

        obj.onmouseover=function(){

            obj.style.backgroundColor="red";

        }

        obj.onmouseout=function(){

            obj.style.backgroundColor="#fff";

        } 

     }

      window.onload = function(){

                  

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

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

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

         {

             bgChange(tr[i]);

         }

}

     

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

      var num=2;

     function add()

     {  num++;

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

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

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

         td1.innerHTML="xh00"+num;

         td2.innerHTML="第"+num+"个学生";

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

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

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

         tab.appendChild(tr);

         tr.appendChild(td1);

         tr.appendChild(td2);

         tr.appendChild(td3);

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

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

         {

             bgChange(tr[i]);

         }

     }

     

     // 创建删除函数

     function xxo(obj)

     { 

         var tr=obj.parentNode.parentNode;

         tr.parentNode.removeChild(tr);

     }

     



  </script> 



你在add()函数里面调用bgChange()方法,是不行的。因为bgChange函数处于window.onload函数里面

解决办法:将bgChange函数上升为全局函数,这样子在add()函数里面就可以调用了,window.onload函数里面也可以调用了。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

新加的行,鼠标移动为什么不会变色啊,查了好久?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信