做出的效果不好,求问一些功能怎么实现
<!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> <style type="text/css"> #table{ background-color:#fff; } </style> <script type="text/javascript"> window.onload=function(){ var tr=document.getElementsByTagName("tr"); for(var i=0;i<tr.length;i++){ changeColor(tr[i]); } } function changeColor(obj){ obj.onmouseover=function(){ obj.style.backgroundColor="#f2f2f2"; } obj.onmouseout=function(){ obj.style.backgroundColor="#fff"; } } function removeRow(obj){ var row=obj.parentNode.parentNode; row.parentNode.removeChild(row); } function insertRow(){ var g=document.getElementById("table"); var newR=g.insertRow(-1); var td_1=document.createElement("td"); td_1.innerHTML="xh"+g.childNodes.length; newR.appendChild(td_1); var td_2=document.createElement("td"); var txt_2=document.createElement("input"); txt_2.type="text"; td_2.appendChild(txt_2); newR.appendChild(td_2); var td_3=document.createElement("td"); td_3.innerHTML="<a href='javascript:;' onclick='removeRow(this)' >删除</a>"; newR.appendChild(td_3); } </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="removeRow(this)" >删除</a></td> <!--在删除按钮上添加点击事件 --> </tr> <tr> <td>xh002</td> <td>刘小芳</td> <td><a href="javascript:;" onclick="removeRow(this)" >删除</a></td> <!--在删除按钮上添加点击事件 --> </tr> </table> <input type="button" value="添加一行" onclick="insertRow()" /> <!--在添加按钮上添加点击事件 --> </body> </html>
问题1:求问学号那一栏的内容应该怎么写代码,才能实现一点击增加一行,自动显示成xh003,xh004,....xh100...xh500这样子呢?
问题2:代码中关于鼠标移动改变背景这个功能,对新增加的行无效,怎样可以实现新增加的行也能做到鼠标移动改变颜色呢?
问题3:姓名一栏中如果要实现可编辑的话,我的做法是在里面加了个输入框,但是我发现输入框和单元格的大小不契合,怎么设置才能做到输入框边缘紧贴单元格呢,或者说有没有更好的办法实现单元格可输入?