就一个删除多行 怎么就那么难啊(javascript)

来源:百度知道 编辑:UC知道 时间:2024/09/22 23:33:37
<script type="text/javascript">
function del(table)
{
var chks=document.getElementsByName("chk") //获得当前表格所有name为chk的集合
for(var i=0;i<chks.length;i++)
{
if(chks[i].checked) //如果被选中就将其删掉
mytable.deleteRow(chks[i].parentNode.parentNode.rowIndex);
}

}
</script>

<table border="1" id="mytable">
<tr>
<td>1 <input /></td><td><input /></td><td><input type="checkbox" name="chk" /></td>
<tr>
<tr>
<td>2 <input /></td><td><input /></td><td><input type="checkbox" name="chk" /></td>
<tr>
<tr>
<td>3 <input /></td><td><input /></td><td><input type="checkbox" name="chk" /></td>

把for(var i=0;i<chks.length;i++)
改成倒序
for(var i=chks.length-1;i>=0;i--)

for(var i=0;i<chks.length;i++)
{
if(chks[i].checked) //如果被选中就将其删掉
mytable.deleteRow(chks[i].parentNode.parentNode.rowIndex);
}

你要搞清楚,dom里面chks.length每删除一个就会减少1,并非是一个常量,明白?或者你在外边定义一个变量,保存这个length然后再循环