改变背景 和 添加行 不起作用,怎么都找不到错误

来源:9-22 编程练习

王不留形

2015-12-27 23:19

<!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(){

                  

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

      HighLight();

}

     function HighLight(){

           var trs=document.getElementById("table").lastChild.getElementsByTagName("tr"); 

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

         trs[i].onmouseover=function(){

             this.style.backgroundColor="red";

         }

         trs[i].onmouseout=function(){

             this.style.backgroundColor="#fff";

         }

   }

     }

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

     function addRow(){

        var tbody=document.getElementById("table").lastChild;      

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

        

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

        td.innerHTML="<input type='text' />";

        tr.appendChild(td);

        

        td=document.createElement("td");

        td.innerHTML="<input type='text' />";

        tr.appendChild(td);

        

        td=document.createElement("td");

        td.innerHTML="<a href="javascript:;" onclick="deletetr(this)">删除</a>";

        tr.appendChild(td);

        

        tbody.appendChild(tr);

        HighLight();

     }

   

     

     // 创建删除函数

     function deletetr(obj){

        var tbody=document.getElementById("table").lastChild;

        var ttr=obj.parentNode.parentNode; 

        tbody.removeChild(ttr);

     }



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

  </tr>


  <tr>

<td>xh002</td>

<td>刘小芳</td>

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

  </tr>  


  </table>

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

 </body>

</html>


写回答 关注

3回答

  • Yoo_Jae_Suk
    2016-01-13 14:40:53

    之前回答错了,应该是td.innerHTML="<a href="javascript:;" onclick="deletetr(this)">删除</a>";这一句里,你改为td.innerHTML=‘<a href="javascript:;" onclick="deletetr(this)">删除</a>’;把外面的双引号改为单引号

    暴走大熊

    这是什么原因,我也出现了这个问题,靠这个办法解决了,请问为什么要这么改?

    2016-01-23 12:58:02

    共 1 条回复 >

  • Yoo_Jae_Suk
    2016-01-13 14:09:26

    添加行里td.innerHTML="<input type='text' />"这一句不可以,修改成

    var  input1=document.createElement(‘input’); input1.type=‘text’; td.appendChild(input1);就可以了。其他的也同样修改

  • echo_kinchao
    2015-12-28 10:54:46

    引用路径错了吧

    王不留形

    是指这一句吗? var trs=document.getElementById("table").lastChild.getElementsByTagName("tr"); 能不能说的具体点

    2015-12-28 12:47:31

    共 1 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题