丁香花视频免费播放,偷拍,清纯,欧美,久久精品,超碰国产精品久久国产精品99,新版天堂资源网,av在线观看

無標(biāo)題文檔

全網(wǎng)生態(tài)整合營(yíng)銷定義者

一套完整的生態(tài)整合營(yíng)銷系統(tǒng)
真正全網(wǎng)覆蓋式營(yíng)銷方案,聚合全網(wǎng)流量,讓更多客戶找到您

IE 下的只讀 innerHTML

來源: 時(shí)間:2009-08-20 05:10:46 瀏覽次數(shù):

今天做東西遇到一個(gè)問題,我試圖動(dòng)態(tài)為一個(gè)表格添加多行數(shù)據(jù),先定義了一個(gè)table:

1
2
3
4
5
6
<table>
<thead>
</thead>
<tbody id="filelist">
</tbody>
</table>

然后在JavaScript 中這樣操作:

1
2
3
4
5
for(var i in entries){
  ...
  var filetable = document.getElementById('filelist');
  filetable.innerHTML += '<tr><td>111</td><td>222</td></tr>';
}


在FireFox 下這么干是沒有問題的,但是放到 IE 下面就死活不行了,問了下同事+搜索了一下,發(fā)現(xiàn)在 IE 下 COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR 這些元素的 innerHTML 屬性都是只讀的,不能直接操作。但是也不是沒有解決辦法,TD 的innerHTML 還是可以操作的,上面的代碼可以這樣修改:

1
2
3
4
5
6
7
8
9
10
11
12
for(var i in entries){
  ...
  var filetable = document.getElementById('filelist');
  var tr = document.createElement('tr');
  var td1 = document.createElement('td');
  td1.innerHTML = '111';
  var td2 = document.createElement('td');
  td2.innerHTML = '222';
  tr.appendChild(td1);
  tr.appendChild(td2);
  filetable.appendChild(tr);
}

可以先使用 DOM 的 createElement 方法創(chuàng)建 tr 和 td,然后對(duì) td 的 innerHTML 進(jìn)行相應(yīng)操作,最后用 appendChild 方法把創(chuàng)建的元素添加到 DOM 樹中。這樣在 IE 下就可以正常運(yùn)行了。需要注意的是,如果你的 table 沒有 tbody,而是這樣:

1
<table id="filelist"></table>

這個(gè)時(shí)候就不能對(duì) table 直接使用 appendChild 方法了,因?yàn)镮E6 下 table 元素是不支持 appendChild 方法的(IE8 貌似已經(jīng)支持了)。

網(wǎng)上也有人提出用 insertRow() 等方法來做,不過這個(gè)方法對(duì)不同瀏覽器的兼容也是有問題的(在FireFox 下就需要使用 insertRow(-1) ),所以就沒用。

BTW,雖然之前也有意識(shí)地看了不少 JS 的資料,但還是實(shí)踐出真知啊,現(xiàn)在剛開始手忙腳亂的,學(xué)習(xí)淡定ING

無標(biāo)題文檔
網(wǎng)站首頁
產(chǎn)品服務(wù)
商學(xué)院
解決方案
新聞中心
案例展示
關(guān)于我們
聯(lián)系我們
辦公電話:0755-27480706( 總機(jī))
郵  箱:service@qilifang.net
地  址:深圳市寶安區(qū)西鄉(xiāng)街道前進(jìn)二路深圳市智匯創(chuàng)新中心D座206
關(guān)注我們
掃描二維碼關(guān)注微信公眾號(hào)
深圳市華企立方信息技術(shù)有限公司 版權(quán)所有
                                                                    備案號(hào): 粵ICP備09000092號(hào)                                   

客戶服務(wù)熱線

0755-27480706

在線客服