`
Copperfield
  • 浏览: 255868 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
C407adc3-512e-3a03-a056-ce4607c3a3c0
java并发编程陷阱
浏览量:24725
社区版块
存档分类

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>

 
 

 

 
分享到:
评论
6 楼 xunis 2013-12-23  
确实如此 吧table包到div中 然后给div innerhtml就不报错了  感谢
5 楼 yangxiutian 2012-07-30  
你说的我试过了  确实如此

不过我这个问题不知道跟你说的问题有没有关系
4 楼 yangxiutian 2012-07-30  
是一些元素节点  问题我解决了   原因是我<span></span> 写成了 <span><span>
就因为少了一斜杠 结果导致IE报错     根本原因没找着
3 楼 Copperfield 2012-07-30  
你的eJoin是虾米?
2 楼 yangxiutian 2012-07-30  
在线求解释。。。
1 楼 yangxiutian 2012-07-30  
楼主 如果真如你所说那

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

eJoin是同一个变量

相关推荐

Global site tag (gtag.js) - Google Analytics