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

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

<!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 回答

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

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

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

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


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

慕九州605830 提问者

谢谢您的回答,我已经做出来了。
2019-11-07 回复 有任何疑惑可以回复我~
#2

阳火锅 回复 慕九州605830 提问者

麻烦采纳一下
2019-11-07 回复 有任何疑惑可以回复我~
#3

qq_慕盖茨6205796 回复 阳火锅

请问为什么要把tr[i]换成this?我大概知道this表示的是这个元素节点,可为什么用tr[i]就会报错呢
2019-12-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

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