日期:2014-05-17  浏览次数:20688 次

innerHTML-未知的运行时错误
<TABLE>
<TBODY id="tbody">
</TBODY>
</TABLE>
<script language="javascript">
    var txtArray = new Array();
    txtArray.push("<tr>");
    txtArray.push("<td>Boston</td></tr>");
    document.getElementById("tbody").innerHTML =txtArray.join("");
    txtArray=null;
</script>
此时出现“未知的运行时错误”,原因如下:
table,thead,tfoot,tbody,tr,col,colgroup,html,title,style,frameset这些元素的innerhtml属性都是只读的,不能直接赋值.
如果一定要赋值动态改变它们的话,就把嵌套在div 里吧,然后给div 的innerHTML的属性赋值吧。改成下面的代码,测试通过:
<TABLE>
<TBODY >
<div id="tbody"> </div>
</TBODY>
</TABLE>

<script language="javascript">
	var txtArray = new Array();
	txtArray.push("<tr>");
	txtArray.push("<td>Boston</td></tr>");
	
  
	document.getElementById("tbody").innerHTML =txtArray.join("");
	txtArray=null;
</script>

?
?

?

?
1 楼 yangxiutian 2012-07-30  
楼主 如果真如你所说那

eJoin.innerHTML='';//这句话在IE可以
eJoin.innerHTML=s3+s2;//为什么这句话在IE不行,会报未知错误

eJoin是同一个变量
2 楼 yangxiutian 2012-07-30  
在线求解释。。。
3 楼 Copperfield 2012-07-30  
你的eJoin是虾米?
4 楼 yangxiutian 2012-07-30  
是一些元素节点  问题我解决了   原因是我<span></span> 写成了 <span><span>
就因为少了一斜杠 结果导致IE报错     根本原因没找着
5 楼 yangxiutian 2012-07-30  
你说的我试过了  确实如此

不过我这个问题不知道跟你说的问题有没有关系