IE上诡异的innerHTML问题

错误信息:htmlfile: 未知的运行时错误
给innerHTML赋值时产生未知的运行时错误
这就是IE叫人郁闷加恶心的地方:

在IE中经常通过innerHTML来改变界面
但也经常出现以上错误,在firefox里则不会。

这是因为IE在对innerHTML进行写操作时会检查element是否具备做为这些内容中html对象容器的要求,
比如将<p>作为容器,它的innerHTML里面放入<li>,马上就会出错。

更加另人郁闷的地方:
<table> <tbody> <tr> 在ie中也无法作为innerHTML的容器使用
在他们里头加入正确的<td>都不行
然而<td>却可以作为容器,放入包括<table>的innerHTML

解决办法
1、确保innerHTML中的html代码正确;
2、确保包含innerHTML的容器正确:一般使用<div>,<span>,<td>,不使用<p>等

posted @ 2012-10-23 15:19  令狐葱★  阅读(282)  评论(0编辑  收藏  举报