基本实现了,还剩颜色问题没解决.求大佬帮看看

来源:9-22 编程练习

慕工程4457707

2019-06-06 21:23

移开鼠标不变色以及新加的行没有绑定上变色,鼠标覆盖变红之后变不回来了


<!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=0;i<tr.length;i++){
          chg(tr[i]); 
        }
         
     
     // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
        function chg(obj){
           obj.onmouseover=function(){
               obj.style.backgroundColor="red";
           }
        }
        obj.onmouseout=function(){
            obj.style.backgroundColor="#fff";
        }
  
    
      }
 
    
      // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
     var num=2;
     function add(){
         num++;
         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="xh00"+num;
         td2.innerHTML="学生";
         td3.innerHTML='<a href="#" onclick="deleteRow(this)">删除</a>'
         table.appendChild(tr);
         tr.appendChild(td1);
         tr.appendChild(td2);
         tr.appendChild(td3);
         var tr=document.getElementsByTagName("tr");
         chg(tr);
     }
      
    
     // 创建删除函数
     function deleteRow(obj){
         var del1=obj.parentNode.parentNode;
         del1.parentNode.removeChild(del1);
         num--;
     }


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

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

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


写回答 关注

5回答

  • 慕UI8806143
    2019-06-06 21:55:29
    已采纳

                  obj.style.backgroundColor="red";
               } 
            }

    大括号配对错了,这里多了一个,删除就正常了

    慕工程445...

    啊啊我找到问题了 谢谢你 我成功运行了

    2019-06-06 21:59:34

    共 2 条回复 >

  • millia
    2019-06-13 11:26:13

     var tr=document.getElementsByTagName("tr");
            for(var i=0;i<tr.length;i++){
              chg(tr[i]);  
            }

    chg(tr[i]);  请问这个是什么意思???

    慕工程445...

    给每一行绑定方法chg(),绑定鼠标经过离开变色

    2019-06-13 16:24:52

    共 1 条回复 >

  • 慕UI8806143
    2019-06-06 22:00:27

    上面还有一个跟他配对的大括号也要删除,你仔细看看

  • 慕UI8806143
    2019-06-06 21:58:47

    for(var i=0;i<tr.length;i++){这后面的这个大括号也是

  • 慕工程4457707
    2019-06-06 21:25:35

    https://img3.mukewang.com/5cf9142a0001115502110143.jpg就这样,变不了了

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题