innerHTML在IE下的特殊:不支持table作为容器
来源:互联网 发布:熊猫tv抢福袋软件 编辑:程序博客网 时间:2024/05/16 13:43
最近开发时遇到个怪事,就是前台我用ajax访问后台 ,拿到数据后,拼好HTML代码,用的是
document.getElementById("id").innerHTML=tblhtml赋值到一个table中,这个在FireFox和Chrome里是正常的,提交测试后。。发现在IE下有问题,别管IE几都有问题,拼接好的HTML片段就是加不上去。用 alert输出下tblhtml试试,也正常,百度一下发现:
因为IE在对innerHTML进行写操作时会检查element是否具备做为这些内容中html对象容器的要求,比如将<p>作为容器,它的innerHTML里面放入<li>,马上就会出错。更加另人郁闷的地方:<table> <tbody> <tr> 在ie中也无法作为innerHTML的容器使用在他们里头加入正确的<td>都不行,然而<td>却可以作为容器,放入包括<table>的innerHTML。页面是UI人员设计的,所以打算找UI换成 <div> , <span>结构。后来突然想起了JQuery也有给元素赋HTML的函数,就是
$("#id").html(tblhtml)
试了一下,果然好使,所以就将所有的innerHTML改成了JQuery的html()函数。
看来IE果然与众不同啊,,遇到这个问题,如果又不想使用JQuery的话,那只能绕开Table咯。
另外 还有一个问题就是,给table赋值上html代码后,浏览器渲染的时候会自动加上<tbody>标签,如果这个时候在获取<table>的innerHTML的话,就会带着<tbody>,这些代码如果和其他的<tr>拼接的话,其他的会显示不出来的哦。。。经验而已,一句话,就是对<table><tr>实行innerHTML时,谨慎小心。。。
- innerHTML在IE下的特殊:不支持table作为容器
- IE浏览table标签不支持innerHTML属性
- IE6-IE9不支持table.innerHTML的解决方法
- innerHTML与innerText在IE和Firefox下的区别。
- IE下JS使用innerHTML对table动态添加无效的原因
- 解决ie下table,tr,td等的innerHTML只读问题
- ie6-ie9中不支持table.innerHTML的问题
- IE6-IE9不支持table.innerHTML的解决方法分享
- javascirpt 的一些在IE下不支持的函数小结
- javascirpt 的一些在IE下不支持的函数小结
- javascirpt函数在IE下不支持的小结
- JavaScript在IE下设置innerHTML时出现"未知的运行时错误"
- JavaScript在IE下设置innerHTML时出现"未知的运行时错误"
- 警惕innerHTML赋值在IE下导致图片多次200的问题
- 关于在IE下对Select标签设置innerHTML无效的问题
- 关于在IE下对Select标签设置innerHTML无效的问题
- JavaScript在IE下设置innerHTML时出现"未知的运行时错误"
- 关于在IE下对Select标签设置innerHTML无效的问题
- 谈谈对程序员的培养
- 单片机
- 码流/码率/码速 解释
- 《老婆,你别挂我电话,我错了,接我电话,好吗?》一个真实故事的惨痛教训,希望女人们可以看完,珍惜爱你的那个人
- Oracle中如何计算时间差
- innerHTML在IE下的特殊:不支持table作为容器
- [WebService Test]: 1. Web Service 概念和原理的总结
- 太极拳动作要领13招 练太极拳秘诀
- XCode快捷键
- 嵌套事务和事务保存点的错误处理
- 操作系统要求
- 解决了基于Android系统下的藏文输入重叠字的问题。
- TrustedGrub工作流程图
- 街头摄影的十句名言