加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

[笔记]IE下table元素的innerHTML问题

发布时间:2020-12-15 01:18:47 所属栏目:C语言 来源:网络整理
导读:在向页面添加元素的时候,我们经常会用到DOM的innerHTML这个属性,但在IE下的table元素中使用,结果,并不是我们想要的。 一、现象 table id="table"/tablescript type="text/javascript"var oTable = document.getElementById('table');oTable.innerHTML =

在向页面添加元素的时候,我们经常会用到DOM的innerHTML这个属性,但在IE下的table元素中使用,结果,并不是我们想要的。

一、现象

<table id="table"></table>

<script type="text/javascript">
var oTable = document.getElementById('table');
oTable.innerHTML = '<tr><td>11</td><td>11</td></tr><tr><td>22</td><td>22</td></tr>';
</script>

在chrome和FF下,都是能够正常显示这个table以及其内部的数据的。

但在IE9-(包括9)下,会有以下报错:

SCRIPT600: 该操作的目标元件无效。

查询对应得文档:

The innerHTML property is read-only on the col,colGroup,frameSet,html,head,style,table,tBody,tFoot,tHead,title,and tr objects.

也就是说table的innerHTML属性是只读的。

二、解决方法

既然table元素不支持innerHTML修改dom的方式,我们只能老老实实的使用原生的appendChild、createElement方法来处理了。

当然,IE10及以上已经支持innerHTML来操作table元素了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读