innerHTML在IE中报错
-
<!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" 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>
-
得出结论:IE9及以下版本的table以及tr的innerHTML属性都是只读的,你可以用它读取table或者tr中的值,但不能写入,写入就报错,另外在IE9及以下版本中td的innerHTML可读可写。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。