問題:開発プロセス中に、テーブルにループしてからTDにループするために使用されます。他のブラウザでは問題はありませんが、IE9および次のバージョンでエラーが報告されています。
Googleで答えを得ました:以前にエラーがわからなかったので、Baiduで解決策を見つけることができませんでした。後で、Googleで検索しました。一部の外国人もこの問題に遭遇し、問題を指摘しました。 http://www.aachin.info/techen/error-on-ie-9-script600-invalid-target-element-for-this-operation/?amp;
コードコピーは次のとおりです。
<!doctype html>
<html lang = "zh-cn">
<head>
<Meta http-equiv = "content-type" content = "text /html; charset = utf-8" />
<title>デフォルトタイトル</title>
</head>
<body>
<表ID = "myTable" cellPadding = "1" cellpacing = "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);
アラート(tr.innerhtml);
アラート(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')。長さ);
// cell.innerhtml = "いくつかのHTMLテキスト";
</script>
</body>
</html>
結論:テーブルとTRのInnerHTML属性は、IE9以下で読み取り専用です。テーブルまたはTRの値を読み取るために使用できますが、それらを書くことはできません。書くと、エラーが報告されます。さらに、TDの内部HTMLは、IE9以下で読みやすく、書き込み可能です。解決策:元のDOM操作方法またはテーブル操作方法については、デモコードを参照してください。