firefox table 對象 異同 欄目 Firefox 简体版
原文   原文鏈接
ie和firefox下操做table對象的異同【測試瀏覽器版本:ie爲8,9,firefox爲2.0】

1)在ie下,table標籤直接使用appendChild增長document.createElement('tr')的行時不顯示,可是在firefox下是沒有問題的。以下

?
<table id="table1" border='1'></table>
<script type='text/javascript'>
var tb=document.getElementById('table1');
var tr=document.createElement('tr'),td=document.createElement('td');
td.innerHTML=new Date();
tr.appendChild(td);//行增長單元格
tb.appendChild(tr);//表增長行
</script>
運行上面的代碼後,和描述同樣吧。
注意:tr .innerHTML =「」;這句話在ie下不能使用
解決辦法就是在table標籤內增長tbody標籤,tbody使用appendChild時在ie和firefox下均可以顯示了。

?
<table border='1'><tbody id="tbody1"></tbody></table>
<script type='text/javascript'>
var tb=document.getElementById('tbody1');
var tr=document.createElement('tr'),td=document.createElement('td');
td.innerHTML=new Date();
tr.appendChild(td);//行增長單元格
tb.appendChild(tr);//表增長行
</script>
 
 
2) 使用insertRow和insertCell插入行和單元格時須要注意的 ,在ie下能夠不傳遞行號和列號,可是若是在firefox下,必需要傳遞,要不出錯。【insertRow和insertCell能夠爲table標籤也能夠爲tbody標籤,這兩則均可以用】以下
 
?
<table id="table2" border='1'></table>
<script type='text/javascript'>
var tb=document.getElementById('table2');
var tr=tb.insertRow(),td=tr.insertCell();
td.innerHTML=new Date();
</script>
 
運行上面的代碼在ie下能夠插入行和單元格,可是在firefox下出現「uncaught exception: [Exception... "Not enough arguments" nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)" location: "JS frame :: file:///E:/IISDebug/ajax/table.htm :: <TOP_LEVEL> :: line 32" data: no]」的錯誤

解決辦法就是把行號和列號做爲參數傳入
可是要注意,傳遞的行號不能大於當前的行的長度,如已經有2行,你能夠傳遞2,可是不能傳遞3。就如同強類型語言的數組同樣,不能越界
<table id="table3" border='1'></table>
<script type='text/javascript'>
var tb=document.getElementById('table3');
var tr=tb.insertRow(tb.rows.length)//這樣傳遞,插入在最後,你也能夠傳遞其餘的
  ,td=tr.insertCell(0);
td.innerHTML=new Date();
</script>

相關文章
相關標籤/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
本站公眾號
   歡迎關注本站公眾號,獲取更多信息