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

innerHTML在IE中报错解决方案

google上得到答案:由于我之前不知道错误的原因,在百度找不到解决方法,后来用谷歌搜到了,外国有人也遇到过这个问题,并指出了问题的所在:http://www.aachin.info/techen/error-on-ie-9-script600-invalid-target-element-for-this-operation/"" alt="" src="/UploadFiles/2021-04-02/201412150855412.png">演示代码:

复制代码 代码如下:
<!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>

得出结论:IE9及以下版本的table以及tr的innerHTML属性都是只读的,你可以用它读取table或者tr中的值,但不能写入,写入就报错,另外在IE9及以下版本中td的innerHTML可读可写。解决方法:使用原始的DOM操作方法或者表格操作方法见演示代码。

标签:
innerHTML,报错

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“innerHTML在IE中报错解决方案”
暂无“innerHTML在IE中报错解决方案”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。