找了不少資料得到的結論是 innerHTML 是微軟訂出來的標準,但是 firefox 也支援了,當然用 W3C 的 DOM 也可以作到, 相容性也比較好,但是要寫的 code 也多了不少。
之前遇到的問題是,在動態產生內容時直覺的要把 data row 直接塞進 table,例如
<table>
<div id=”data”></div>
</table>
AJAX code 傳回 “<tr><td>name:</td><td>Vincent</td></tr>”,用 getElementById(‘data’).innerHTML 塞回傳值, firefox 可以正常顯示,explorer 不行,微軟的範例是用 W3C 的 DOM 一個個 cell,row 去動態產生 table。
最近發現一個作法在 firefox,explorer 都可以正常顯示,在 html 內一樣用 div 留下一個 container 位置
<div id=”data”></div>
AJAX code 如果回傳整個 table 的 html,例如 “<table><tr><td>name:</td><td>Vincent</td></tr></table>” 再用 getElementById(‘data’).innerHTML 塞回傳值,是 ok 的。