码迷,mamicode.com
首页 > Web开发 > 详细

innerHTML在IE中报错

时间:2014-12-14 15:51:33      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   使用   sp   for   

 
问题:开发过程中,用到循环往table里面插入tr标签,然后tr里又循环插入td,在其它浏览器都没问题,但是在IE9及以下版本中都报错:
bubuko.com,布布扣
 
google上得到答案:由于我之前不知道错误的原因,在百度找不到解决方法,后来用谷歌搜到了,外国有人也遇到过这个问题,并指出了问题的所在:
bubuko.com,布布扣
 
 
演示代码:
  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操作方法或者表格操作方法见演示代码。





innerHTML在IE中报错

标签:style   blog   http   io   ar   color   使用   sp   for   

原文地址:http://www.cnblogs.com/xiedie/p/4162582.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!