문제 : 개발 과정에서 테이블로 반복 된 다음 TD로 루프하는 데 사용됩니다. 다른 브라우저에는 문제가 없지만 IE9와 다음 버전에서 오류 가보고됩니다.
Google에 대한 답변을 얻었습니다. 이전에 오류를 몰랐기 때문에 Baidu에서 해결책을 찾을 수 없었습니다. 나중에 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 demo code:
코드 사본은 다음과 같습니다.
<! doctype html>
<html lang = "zh-cn">
<헤드>
<meta http-equiv = "content-type"content = "text /html; charset = utf-8" />
<title> 기본 제목 </title>
</head>
<body>
<table id = "mytable"cellpadding = "1"cellPacing = "0">
<tr>
<td> 222 </td>
</tr>
</테이블>
<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'). length);
// cell.innerhtml = "일부 html 텍스트";
</스크립트>
</body>
</html>
결론 : 테이블 및 TR의 내부 html 속성은 IE9 이하의 읽기 전용입니다. 테이블이나 TR의 값을 읽는 데 사용할 수 있지만 작성할 수는 없습니다. 글을 쓰면 오류 가보고됩니다. 또한, TD의 내부 html은 IE9 이하에서 읽을 수 있고 기록 될 수있다. 솔루션 : 원래 DOM 작동 방법 또는 테이블 작동 방법의 데모 코드를 참조하십시오.