天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

IE 下的只讀 innerHTML

今天做東西遇到一個問題,我試圖動態為一個表格添加多行數據,先定義了一個table:
復制代碼 代碼如下:
<table>
<thead>
</thead>
<tbody id="filelist">
</tbody>
</table>

然后在JavaScript 中這樣操作:
復制代碼 代碼如下:
for(var i in entries){
...
var filetable = document.getElementById('filelist');
filetable.innerHTML += '<tr><td>111</td><td>222</td></tr>';
}

在FireFox 下這么干是沒有問題的,但是放到 IE 下面就死活不行了,問了下同事+搜索了一下,發現在 IE 下 COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR 這些元素的 innerHTML 屬性都是只讀的,不能直接操作。但是也不是沒有解決辦法,TD 的innerHTML 還是可以操作的,上面的代碼可以這樣修改:
復制代碼 代碼如下:
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 方法創建 tr 和 td,然后對 td 的 innerHTML 進行相應操作,最后用 appendChild 方法把創建的元素添加到 DOM 樹中。這樣在 IE 下就可以正常運行了。需要注意的是,如果你的 table 沒有 tbody,而是這樣:
<table id="filelist"></table>
這個時候就不能對 table 直接使用 appendChild 方法了,因為IE6 下 table 元素是不支持 appendChild 方法的(IE8 貌似已經支持了)。
網上也有人提出用 insertRow() 等方法來做,不過這個方法對不同瀏覽器的兼容也是有問題的(在FireFox 下就需要使用 insertRow(-1) ),所以就沒用。
BTW,雖然之前也有意識地看了不少 JS 的資料,但還是實踐出真知啊,現在剛開始手忙腳亂的,學習淡定ING

JavaScript技術IE 下的只讀 innerHTML,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 第一次玩老妇真实经历 | 日本高清无卡码一区二区久久 | 狠狠人妻久久久久久综合九色 | 99国产这里只有精品视频 | 真实国产乱子伦精品一区二区三区 | 麻豆精品人妻一区二区三区蜜桃 | bt天堂午夜国产精品 | 亚洲精品卡2卡3卡4卡5卡区 | 天堂草原天黑黑 | 中文字幕中文字幕永久免费 | 国产亚洲精品久久久久久国模美 | 国产AV无码成人黄网站免费 | 亚洲一区在线观看无码欧美 | 亚洲国产中文字幕新在线 | 亚洲精品青青草原avav久久qv | 久久激情影院 | 99国产在线视频 | 俄罗斯人与动ZOOZ | 乌克兰少妇大胆大BBW | 97午夜精品| 亚洲国产中文在线视频免费 | 18国产精品白浆在线观看免费 | 扒开黑女人p大荫蒂老女人 扒开粉嫩的小缝末成年小美女 | 久久中文字幕亚洲精品最新 | 公主纯肉高H文 | 嘟嘟嘟WWW免费高清在线中文 | 第一福利在线永久视频 | 亚洲高清中文字幕免费 | 芭乐视频网页版在线观看 | 三男强一女90分钟在线观看 | 自拍 偷拍 亚洲 经典 | 久久偷拍vs国产在线播放 | 偷偷鲁青春草原视频分类 | 日本湿姝在线观看 | 麻豆啊传媒app黄版破解免费 | 中文字幕一区在线观看视频 | 欲香欲色天天影视大全 | 男女边吃奶边做边爱视频 | 范冰冰hdxxxx | 一二三四韩国免费观看 | 中国二级毛片 |