为什么我的“删除和添加”部分运行良好,却改不了背景颜色?window.onload=function()这部分代码有问题吗?

来源:9-22 编程练习

慕九州605830

2019-11-06 21:40

<!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()        
      {
        for(var i=0;i<tr.length;i++)
        {
            tr[i].onmouseover=function()
            {
                 tr[i].style.backgroundColor="#f22";
            }
           
           tr[i].onmouseout= function()
           {
               tr[i].style.backgroundColor="#ddd";
           }
        }
      }
    function add()
     {
         var tabl=document.getElementById("table");
         var btn=document.createElement("tr");
         var btn1=document.createElement("th");
         var btn2=document.createElement("th");
         var btn3=document.createElement("th");
          btn1.innerHTML="xh003";
          btn2.innerHTML="张小节";
          tabl.appendChild(btn);
          btn.appendChild(btn1);
          btn.appendChild(btn2);
          btn.appendChild(btn3);
     }
            
     // 创建删除函数
     function cancel()
     {
        var otest=document.getElementById("id1");
        var len=otest.childNodes.length;
        for(var i=0;i<len;i++)
        otest.removeChild(otest.childNodes[0]);
     }
     
     function canc()
     {
        var test=document.getElementById("id2");
        var leng=test.childNodes.length;
        for(var i=0;i<leng;i++)
        test.removeChild(test.childNodes[0]);
     }
     
  </script>
 </head>
 <body>
       <table border="1" width="50%" id="table">
       <tr>
        <th>学号</th>
        <th>姓名</th>
        <th>操作</th>
       </tr>  

       <tr id="id1">
        <td>xh001</td>
        <td>王小明</td>
        <td><a href="javascript:;" onclick="cancel()">删除</a></td>  
        <!--在删除按钮上添加点击事件  -->
       </tr>

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

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

写回答 关注

1回答

  • 阳火锅
    2019-11-07 09:30:54
    已采纳

    你这代码有两个问题,我截图了

    http://img.mukewang.com/5dc3732600015fa604840306.jpg首先你要把我圈出来的改成this,

    然后你检查一下,你还少了一行代码..  你觉得你这个tr取到了吗?  你这tr哪里来的?

    你要写一个var tr = document.getElementsByTagName('tr')


    qq_慕盖茨... 回复阳火锅

    请问为什么要把tr[i]换成this?我大概知道this表示的是这个元素节点,可为什么用tr[i]就会报错呢

    2019-12-21 16:06:36

    共 3 条回复 >

JavaScript进阶篇

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

467393 学习 · 21877 问题

查看课程

相似问题