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

麻烦大佬们看看代码,鼠标事件颜色不改变,点击删除和添加都没用反应,怎么修改?

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

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

            bgcChange(element[i]);

        }

  }

  function bgcChange(obj){

      obj.onmouseover = function(){

          obj.style.backgroundColor = "#f2f2f2";

      }

      obj.onmouseout = function(){

          obj.style.backgroundColor = "#fff";

      }

  }

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

     

      function add(){

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

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

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

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

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

     

        td1.innerHTML = "xxx";

        td2.innerHTML = "xxx";

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

     

        tab.appendChild("tr");

        tr.appendChild("td1");

        tr.appendChild("td2");

        tr.appendChild("td3");

     

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

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

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

   </tr>


   <tr>

<td>xh002</td>

<td>刘小芳</td>

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

   </tr>  


   </table>

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

 </body>

</html>


正在回答

2 回答

 特别需要注意一点: <a>标签中href="javascript:" 如果写this,那它则指向全局,他不知道是那个元素。我也是刚学的新手,如果说的有误请指出。

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

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

<title>无标题文档</title>

  <script type="text/javascript"> 

       function bgcChange(obj){

      obj.onmouseover = function(){

          obj.style.backgroundColor = "#F2F2F2";

      }

      obj.onmouseout = function(){

          obj.style.backgroundColor = "#FFFFFF";

      }

  }

      window.onload = function(){

                  

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

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

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

            bgcChange(element[i]);

        }

  }

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

     

      function add(){

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

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

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

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

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

     

        td1.innerHTML = "xxx";

        td2.innerHTML = "xxx";

        var Link = document.createElement("a");

var LinkText = document.createTextNode("删除");

Link.appendChild(LinkText);

Link.setAttribute("href","javascript:void(0)");

Link.setAttribute("onclick","del(this)");

td3.appendChild(Link);

        tab[0].appendChild(tr);

        tr.appendChild(td1);

        tr.appendChild(td2);

        tr.appendChild(td3);

     

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

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

             bgcChange(element[i]);

          }

      }

     

     // 创建删除函数

     function del(obj)

     {

       var thistr = obj.parentNode.parentNode ;

       thistr.parentNode.removeChild(thistr) ;

     }

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

   </tr>


   <tr>

<td>xh002</td>

<td>刘小芳</td>

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

   </tr>  


   </table>

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

 </body>

</html>


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

举报

0/150
提交
取消

麻烦大佬们看看代码,鼠标事件颜色不改变,点击删除和添加都没用反应,怎么修改?

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