日期:2014-05-16  浏览次数:20506 次

表单增加一行JS,顺序怎么控制?
各位大大好,本人JS小白,在网上拷了个JS,可以使用,但是因为用的人很多,大家的浏览器不一样,所以造成添加的行,顺序不一样,请各位大大解决下!
<script>
 var i=0

 function insert_row(){
  i ++
  R = tbl.insertRow()
  C = R.insertCell()
  C.innerHTML = "第"+i+"个文件"
  C = R.insertCell()
  C.innerHTML = "<input>"
  C = R.insertCell()
  C.innerHTML = "<input type=file>"
  C = R.insertCell()
  C.innerHTML = "<input type='button'  value='删除' onclick='deleteRow(this)'>"
 }
 function deleteRow(obj){
  alert(obj.parentElement.parentElement.rowIndex+1);
  tbl.deleteRow(obj.parentElement.parentElement.rowIndex);
 }
</script>


比如说,在搜狗浏览器的告诉模式下 顺序是:


但是在IE6下,顺序则为:


请问这个怎么解决呢?
浏览器 javascript insert

------解决方案--------------------
要指定行下标和列的下标

 var i=0
 
 function insert_row(){
  i ++
var tbl=document.getElementById('tbl');//不要用ID访问DOM对象
  R = tbl.insertRow(tbl.rows.length)////
  C = R.insertCell(0)
  C.innerHTML = "第"+i+"个文件"
  C = R.insertCell(1)////
  C.innerHTML = "<input>"
  C = R.insertCell(2)////
  C.innerHTML = "<input type=file>"
  C = R.insertCell(3)////
  C.innerHTML = "<input type='button'  value='删除' onclick='deleteRow(this)'>"
 }
 function deleteRow(obj){
  alert(obj.parentElement.parentElement.rowIndex+1);
  tbl.deleteRow(obj.parentElement.parentElement.rowIndex);
 }