JavaScriptはIEでinnerHTMLを設定した時に「未知の運転時エラー」が発生します.


問題<p>タグのinnerHTMLのコンテンツを動的に変更したいが、IEでは「未知の実行時エラー」と報告されている.
Htmlページは以下の手順で行います.
<html>
    <head>
    <title>test</title>
    </head>
    <body>
    <script>
    document.getElementById('trone').innerHTML = '<span>haha</span>';
    </script>
    <p id='trone'></p>
    </body>
</html>
原因<script>タグは<p>タグの前に、JavaScriptコードが実行された時、<p>タグにアクセスできませんでした.このとき、<p>タグはまだブラウザによって解析されていません.<script>タグをページの底に置くことを提案します.以上の問題を回避するほか、性能を向上させることができます.
知識を広げる<script>が操作ラベルの後に現れたとしても、IEの下でこの問題が発生する可能性がある.
これは主にIEがinnerHTMLに対して書き込み操作をする時、操作要素がコンテンツオブジェクト容器としての要求に合致しているかどうかを確認するためである.例えば、<p>タグに<li>タグを入れると、上記のようなエラーが発生する可能性が高い.このようなエラーが発見されたら、次のようなことを試みることができる.
  • .innerHTMLのhtmlコードに破損したhtmlタグが含まれているかどうかを確認します.<ul></ul>に囲まれている<li></li>.
  • がない場合.
  • .innerHTMLが割り当てられた容器を、<span><div>のような「包容」の比較ラベルに変更する.特に注意すべきことは、<tbody><table><tr>のラベルに正しいフォーマットの<td>タグが付けられていても、これらのラベルが容器として使用されることを避けるべきである.
    参照
  • JavaScriptは、IEの下にinners HTMLを設定すると、「未知の実行時エラー」
  • が発生します.
  • Best Practices for Speeding Up Your Web Site