innerHTML在IE中报错

问题:开发过程中,用到循环往table里面插入tr标签,然后tr里又循环插入td,在其它浏览器都没问题,但是在IE9及以下版本中都报错:

google上得到答案:由于我之前不知道错误的原因,在百度找不到解决方法,后来用谷歌搜到了,外国有人也遇到过这个问题,并指出了问题的所在:

http://www.aachin.info/techen/error-on-ie-9-script600-invalid-target-element-for-this-operation/?amp;utm_source=rss&utm_medium=rss&utm_campaign=error-on-ie-9-script600-invalid-target-element-for-this-operation

演示代码:

  1. <!DOCTYPE html>
    <html lang="zh-cn">
        <head>
            <meta http-equiv="content-type" content="text/html;charset=utf-8" />
            <title>默认标题</title>
        </head>
        <body>
            <table id="mytable" border="1" cellpadding="1" cellspacing="0">
                <tr>
                    <td>222</td>
                </tr>
            </table>
            <script type="text/javascript">
                var mytable = document.getElementById(‘mytable‘);
                var tr = mytable.getElementsByTagName(‘tr‘)[0];
                var td = mytable.getElementsByTagName(‘td‘)[0];
    
                //读取innerHTML(IE任何版本都不报错,IE6未测)
                alert(mytable.innerHTML);
                alert(tr.innerHTML);
                alert(td.innerHTML);
    
                //写入innerHTML
                // mytable.innerHTML = ‘<tr><td>11111</td></tr>‘; //IE9及以下报错
                // tr.innerHTML = ‘<td>11111</td>‘;    //IE9及以下报错
                // td.innerHTML = ‘11111‘;            //所有版本不报错(IE6未测)
    
                //解决方法,使用DOM的原始操作方法或者表格操作方法
                // var btnRow = mytable.insertRow();
                // var cell = btnRow.insertCell(btnRow.getElementsByTagName(‘td‘).length);
                // cell.innerHTML = "some html text";
            </script>
        </body>
    </html>

  2. 得出结论:IE9及以下版本的table以及tr的innerHTML属性都是只读的,你可以用它读取table或者tr中的值,但不能写入,写入就报错,另外在IE9及以下版本中td的innerHTML可读可写。

解决方法:使用原始的DOM操作方法或者表格操作方法见演示代码。

来自为知笔记(Wiz)

时间: 2024-10-28 17:35:57

innerHTML在IE中报错的相关文章

tcpSrv在vs2008中报错

报错内容: 1>LINK : warning LNK4076: 无效的增量状态文件“F:\VC_proj\Cproj\Debug\Cproj.ilk”:正在非增量链接1>lase.obj : error LNK2028: 无法解析的标记(0A000013) "extern "C" int __stdcall closesocket(unsigned int)" ([email protected]@[email protected]),该标记在函数 &q

MySql中报错:java.sql.SQLException: Incorrect string value: &#39;\xF0\x9F\x90\xBB&#39; for column

问题描述: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\xBB' for column 'nickName' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1094) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4226) at com.mysql.jdbc.M

Swift在for循环中报错&#39;++&#39; is not a binary operator

最近刚开始学swift,遇到了一个非常诡异的问题.是在写for循环的时候出现语法错误.代码如下: for var i = 0; i < 10; i++{ println("hello world") } 按理说这是Swift里最简单的for循环的使用了.但是编译器还是报了两个错: '++ is not a binary operator' Operator is not a known binary operator 虽然苹果在官方文档里面说,建议通过++i这种方式使用自增运算符

Android中报错

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{*****Activity}: java.lang.ClassNotFoundException: Didn't find class "*****Activity" on path: /data/app/*******.apk..... 最近总是会遇到这样的错误.哦!不,是自从用了Android4.0中的Eclise后,才发现自己经常会面对

ThinkPHP5.0中报错could not find driver的解决方式

这个报错是我的tp5项目转移到另外的服务器中发生的错误, 其中报错信息中还包含这pdo等字眼 解决方法:在php.ini中开启php_pdp_mysql.dll

词云:解决pip install wordcloud安装过程中报错“error: command &#39;x86_64-linux-gnu-gcc&#39; failed with exit status 1”问题

外部环境:ubuntu16.04, 64bits, 全局环境python2.7 在虚拟环境(python3.5)中执行 pip install wordcloud 时安装失败,报错: error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 ---------------------------------------- Failed building wheel for wordcloud Running setup.py

PXE部署系统过程中报错0x80070490如何排错?举一反三的IT技术学习方式

PXE部署系统过程中报错0x80070490如何排错?举一反三的IT技术学习方式 ?Lander Zhang 专注外企按需IT基础架构运维服务,IT Helpdesk 实战培训践行者http://blog.51cto.com/lander 2018/09/3 7:30 问题描述 相信很多同学在照着某些技术视频或博客学习SCCM服务器是都以为安装配置好了,但在测试的时候总会出现一些莫名其妙的问题,于是在网络上按错误提示去搜索,花了N多时间但进展又缓慢,还经常找不到有效的解决建议,即使找到了这个问题

windows下 python中报错ImportError: No module named &#39;requests&#39;

原因没有安装requests模块, 可以切换到python的安装目录找到 script文件夹 example: 进入cmd窗口切换到上面的目录直接运营下面两个命令中的一个 1. > Path\pip install requests 2. > Path\easy_install.exe requests 详细参考:https://stackoverflow.com/questions/17309288/importerror-no-module-named-requests ---------

unittest中报错:AttributeError: &#39;TestLogin&#39; object has no attribute &#39;driver&#39;解决方法

源代码如下: 更改后: 执行成功. unittest中报错:AttributeError: 'TestLogin' object has no attribute 'driver'解决方法 原文地址:https://www.cnblogs.com/Asiihu/p/10167964.html