Heim > Artikel > Web-Frontend > 上面的这个程序,在点击删除表格中的一行时,不能随意删除,不管点击哪个都是从上往下删除,请帮忙让他能够点击每行后的删除,删除该行~谢谢_html/css_WEB-ITnose
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> Table 对象得方法 </TITLE><script language="JavaScript">var intRowIndex = 0;function insertRow(tbIndex){ var objRow = myTable.insertRow(tbIndex); var objCel = objRow.insertCell(0); objCel.innerHTML = document.myForm.myCell1.value; var objCel = objRow.insertCell(1); objCel.innerHTML = document.myForm.myCell2.value; var objCel = objRow.insertCell(2); objCel.innerHTML = "<a href='javaScript:deleteRow(intRowIndex)'>删除</a>"; objRow.attachEvent("onmouseover",getIndex); objRow.style.background = "pink";}function deleteRow(tbIndex){ myTable.deleteRow(tbIndex);}function getIndex(){ intRowIndex = event.srcElement.parentElement.rowIndex; pos.innerText = intRowIndex;}</script><META NAME="Generator" CONTENT="EditPlus"><META NAME="Author" CONTENT=""><META NAME="Keywords" CONTENT=""><META NAME="Description" CONTENT=""></HEAD><BODY onload="pos.innerText=intRowIndex;"><h2>Table对象得方法</h2><hr>当前位置:<span id="pos"></span><table id="myTable" border=1><tr onclick="getIndex()"><td>HTML</td><td>Css</td></tr><tr onclick="getIndex()"> <td>JavaScript</td> <td>VBScript</td></tr></table><form name="myForm">第一栏:<input type="text" name="myCell1" value="CGI"><br>第二栏:<input type="text" name="myCell2" value="ASP"><br><input type="button" onclick="insertRow(intRowIndex)" value="插入行"><a href='javaScript:deleteRow(intRowIndex)'>删除</a><input type="button" onclick="insertRow(myTable.rows.length)" value="添加行" ></form></tr></BODY></HTML>
你的intRowIndex有问题啊
改成
function insertRow(tbIndex){ var objRow = myTable.insertRow(tbIndex); var objCel = objRow.insertCell(0); objCel.innerHTML = document.myForm.myCell1.value; var objCel = objRow.insertCell(1); objCel.innerHTML = document.myForm.myCell2.value; var objCel = objRow.insertCell(2); objCel.innerHTML = "<a href='#' onclick='deleteRow(this);return false;'>删除</a>"; objRow.attachEvent("onmouseover",getIndex); objRow.style.background = "pink";}function deleteRow(aTag){ if(arguments.length>0) { o = aTag.parentNode while(o.tagName!="TR") o=o.parentNode o.parentNode.removeChild(o); } else { myTable.deleteRow(intRowIndex); }}
嘿嘿~~~谢谢~~~感激死了~~~
可是不怎么明白function deleteRow(aTag)这样改的意思是什么啊?