<!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 acolor=document.getElementsByTagName("td"); for(i=0;i<acolor.length;i++){ acolor[i].onmouseover=function(){ this.style.backgroundColor="#D8D8D8"; } acolor[i].onmouseout=function(){ this.style.backgroundColor="#fff"; } } } // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。 var num=3; function add(){ var adda=document.getElementById("table"); var newadda=document.createElement("tr"); var newaddb=document.createElement("td"); var newaddc=document.createElement("td"); var newaddd=document.createElement("td"); newaddc.innerHTML=prompt("姓名:"); newaddb.innerHTML=num; newaddd.innerHTML="<a href='javascript:;' onclick=''>删除</a>"; if(newaddc!=""&&newaddc!=null){ adda.appendChild(newadda); newadda.appendChild(newaddb); newadda.appendChild(newaddc); newadda.appendChild(newaddd); } else{ alert("请输入正确内容"); } num++; } // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点; // 创建删除函数 </script> </head> <body> <table border="1" width="50%" id="table"> <tr> <th>学号</th> <th>姓名</th> <th>操作</th> </tr> <tr> <td>1</td> <td>王小明</td> <td><a href="javascript:;" onclick="removea" >删除</a></td> <!--在删除按钮上添加点击事件 --> </tr> <tr> <td>2</td> <td>刘小芳</td> <td><a href="javascript:;" onclick="removea" >删除</a></td> <!--在删除按钮上添加点击事件 --> </tr> </table> <input type="button" value="添加一行" onclick="add()" /> <!--在添加按钮上添加点击事件 --> </body> </html>
确实是需要添加.innerHTML num自动加一是因为你num++的位置问题 放在上一个if里面就好了
if(newaddc!=""&&newaddc!=null)这句代码有问题。
是不是应该写成
if(newaddc.innerHTML!="" && newaddc.innerHTML!=null)
另外,即便判断输入姓名为空,提示输入有误后,序号变量num依旧会自动+1.可以改进下。