亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

innerHTML在IE中報錯解決方案

 更新時間:2014年12月15日 08:57:59   投稿:hebedich  
這篇文章主要介紹了innerHTML在IE中報錯解決方案,需要的朋友可以參考下

問題:開發(fā)過程中,用到循環(huán)往table里面插入tr標(biāo)簽,然后tr里又循環(huán)插入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演示代碼:

復(fù)制代碼 代碼如下:

<!DOCTYPE html>
<html lang="zh-cn">
    <head>
        <meta http-equiv="content-type" content="text/html;charset=utf-8" />
        <title>默認(rèn)標(biāo)題</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>

得出結(jié)論:IE9及以下版本的table以及tr的innerHTML屬性都是只讀的,你可以用它讀取table或者tr中的值,但不能寫入,寫入就報錯,另外在IE9及以下版本中td的innerHTML可讀可寫。解決方法:使用原始的DOM操作方法或者表格操作方法見演示代碼。

相關(guān)文章

最新評論