ie6
firefox
opera
insertRow
支持, 默认参数-1,默认添加到最后
支持, 但不支持默认参数
支持,默认参数0
默认添加到最前
appendChild
不支持
支持,但是增加 tr后不影响rows
支持,效果同insertRow(-1),影响rows
//向table追加一个空行:
var otr = otable.insertRow(-1);
var otd = document.createElement(“td”);
otd.innerHTML = ” “;
otd.className = “XXXX”;
otr.appendChild(otd);
这样就可以运行在这三种浏览器上了
insertRow([iIndex])),insertCell([iIndex]) 在firefox出错原因。
在firefox下,这2个方法必须要给出 索引号。IE默认是 -1. 表示插入最后。
IE默认是添加最后
chrome 默认是添加在前面
firefox 必须给出索引参数 如:-1 为最后面
在IE和FF中 insertRow和insertCell有一个小小的区别
在IE中可以这样调用:
var bgame_table = document.getElementById(‘game_table’);
nowTR = bgame_table.insertRow();
nowTD = nowTR.insertCell();
但在ff中,上面这样调用就会报错了:
所以在FF和ie都可以这样调用:
var bgame_table = document.getElementById(‘game_table’);
nowTR = bgame_table.insertRow(-1);
nowTD = nowTR.insertCell(-1);
-1代表什么意思呢?
原来-1代表:插入(行)单元格到 cells(rows) 集合内的最后一个。
IE默认值了-1,但FF就没有默认值的。
所以为了兼容性好,我建议大家都是加上-1。
示例:
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
<HTML>
<HEAD>
<TITLE>InsertRow() and InsertCell() in FireFox and IE</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE=”JavaScript”>
<!–
var i = 1;
function insRow()
{
var j = 1;
var obj=document.getElementById(‘myTable’).insertRow(-1);
obj.insertCell(-1).innerHTML = “<font color=red>第”+i+”行第1列</font>”;
obj.insertCell(-1).innerHTML = “<font color=red>第”+i+”行第2列</font>”;
obj.insertCell(-1).innerHTML = “<font color=red>第”+i+”行第3列</font>”;
i++;
}
//–>
</script>
<table id=”myTable” border=”1″>
</table>
<form>
<input type=”button” onclick=”insRow();” value=”新增一行”>
</form>
</BODY>
SyntaxHighlighter.highlight();