المشكلة: أثناء عملية التطوير ، يتم استخدامه للحلق في الجدول ثم الحلقة في TD. لا توجد مشكلة في المتصفحات الأخرى ، ولكن يتم الإبلاغ عن الأخطاء في IE9 والإصدارات التالية:
حصلت على الإجابة على Google: لأنني لم أكن أعرف الخطأ من قبل ، لم أتمكن من العثور على حل على Baidu. في وقت لاحق ، لقد بحثت مع Google. واجه بعض الأجانب أيضًا هذه المشكلة وأشاروا إلى المشكلة: http://www.aachin.info/techen/error-on-ie-ie-9-script600-invalid-target-element-for-this-operation/؟amp ؛ _source=rss&utm_medium=rss&utm_campaign=error-on-e-9-script6 شفرة:
نسخة الكود كما يلي:
<! 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" cellpadding = "1" cellpacing = "0">
<tr>
<td> 222 </td>
</r>
</table>
<script type = "text/javaScript">
var mytable = document.getElementById ('mytable') ؛
var tr = mytable.getElementSbyTagName ('tr') [0] ؛
var td = mytable.getElementSbyTagName ('td') [0] ؛
// read innerhtml (لم يتم الإبلاغ عن أي أخطاء في أي إصدار من IE ، لم يتم اختبار IE6)
تنبيه (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>
الخلاصة: سمات innerhtml من الجداول و TR هي للقراءة فقط في IE9 وتحت. يمكنك استخدامه لقراءة القيم في الجداول أو TR ، ولكن لا يمكن كتابتها. إذا كتبت ، فسيتم الإبلاغ عن خطأ. بالإضافة إلى ذلك ، يمكن قراءة innerhtml من TD وقابلة للكتابة في IE9 وأسفل. الحل: راجع الرمز التجريبي لطريقة تشغيل DOM الأصلية أو طريقة تشغيل الجدول.