和很多朋友说的一样,在Firefox下可以正常使用,但在IE下就会有未知运行时错误
例如:我的代码如下:
原代码:
<div class="con4"> <div class="conbg"> <table style="background-color:#fff;"> <tbody id="__list"> <tr> <th width="25%">地区</th> <th width="25%">姓名</th> <th width="25%">奖项</th> <th width="24%">联系电话</th> </tr> </tbody> </table> </div> </div>
然后JS操作:
document.getElementById("__list").innerHTML = 'html内容';
结果,在IE下,报出现未知错误,然后调试了半天,又从网上查找,最后尝试了下,调整代码如下:
<div class="con4"> <div class="conbg" id="__list"> </div> </div>
然后再进行JS操作:
document.getElementById("__list").innerHTML = 'html内容';
最后结果就正确了。
那么我便借助网上的各种资源,对此做一下解释或说明,以备日后使用。
这个错误主要是因为,IE在对innerHTML进行写操作的时候会检查infoDIV是否具备做为这些内容中html对象容器的要求,所以当你发现这些错误出现,尝试做两件事情:
1、检查你尝试加到innerHTML的html代码是否包含破损的html标签(某些标签或许缺少关闭标签).
2、把你的容器改成那些比较“包容”的标签,如<span></span>,<div></div>
特别注意的是<tbody>,<table>,<tr>标签里面加正确格式的<td>标签都有可能出错,所以应该避免使用这些标签作为容器。
必要时可以用<td>作为容器,再锲套一层表格
注:
1.元素的innerHTML属性是只读。
只读元素:col, colgroup, frameset, head, html, style, table, tbody, tfoot, thead, title, tr
所以,这些标签不能用innerHTML进行写操作。
2.HTML错误的嵌套例如在p里嵌套div那修改div的innerHTML属性也会出现错误,这个也是需要注意的。
暂时整理这些,如有更多发现,将继续补充。
相关推荐
本文实例讲述了js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法。分享给大家供大家参考。具体分析如下: 问题描述: 网站中使用了一个js插件,设置innerHTML时,在IE8下报错“未知运行时错误”: <div...
[removed] ”trone”> </tr> 在IE中,有时候会出现”未知的运行时错误(unknown runtime error)”,而在firefox里不会。 这主要是IE在对innerHTML进行写操作的时候会检查element是否具备做为这些内容中html对象容器的...
python的xpath没有获取div标签内html内容的功能,也就是获取div或a标签中的innerhtml,写了个小程序实现一下: 源代码 [webadmin@centos7 csdnd4q] #162> vim /mywork/python/csdnd4q/z040.py #去掉最外层标签,...
最近在做一评论功能,需要能够评论表情,那 contentEditable 这个属性...var _div = document.querySelector('.discuss_area'); var range = document.createRange(); range.selectNodeContents(_div); range.collapse
在使用JSP开发Web应用程序的过程中,可能会遇到一个特定的问题:即在Internet Explorer 6浏览器下出现“未指明的错误”,而在较新的版本如IE7和IE8中则显示为“未知的运行时错误”。这个问题主要发生在对某些HTML...
IE6-IE9中tbody的innerHTML不能赋值,重现代码如下 Js代码 <!DOCTYPE html> <html> <head> <meta charset=utf-8/> <title>IE6-IE9中tbody的innerHTML不能复制bug</title> </...
4. **避免不必要的innerHTML操作**:在可能的情况下,减少对`innerHTML`的依赖,转而使用DOM操作API,如`createElement`、`appendChild`和`removeChild`等,可以更好地控制DOM树的结构,避免这类问题。 5. **条件...
首先时飘忽不定的collapse的border,ie6偏偏...排查了半天,结果是IE的table元素为只读,不能使用innerHTML!!!! 同样为只读的元素还有COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, T
这样,即使在IE下,也能正确地动态添加表格行。 示例代码如下: ```javascript for (var i in entries) { var filetable = document.getElementById('filelist'); var tr = document.createElement('tr'); var ...
3. **安全问题**:使用`innerHTML`设置用户输入的内容时,需要注意XSS(跨站脚本攻击)风险。不适当的使用可能导致恶意代码执行,因此需要进行适当的输入验证和编码。 4. **与innerText的区别**:`innerText`属性与...
通过使用`lj_设置子dom的height 100%即可.png`、`必须清除子dom的float才能撑开父dom.txt`、`absolute存在的时候floate会失效.txt`、`css - div层为什么没有被自动撑开-.url`这些资源,你可以更深入地学习和实践这些...
- 在某些情况下,浏览器可能会自动修正或调整通过 `innerHTML` 设置的 HTML,因此实际渲染的内容可能与预期有所不同。 ### 实际应用示例 假设我们有一个简单的 HTML 页面,包含一个按钮和一个 `div` 元素: ```...
最近发现各大类库都能利用xxx[removed]=HTML片断来生成节点元素,再把它们插入到目标元素的各个位置上。这东西实际上就是insertAdjacentHTML,但是IE可恶的innerHTML把这优势变成劣势。
总结起来,解决CodeMirror2在IE7/IE8下出现的“未知运行时错误”的关键在于理解`innerHTML`在老版本IE中的限制,以及调整HTML结构以避免使用不支持此属性的元素。通过将`textarea`移出`<p>`元素并放入`<div>`中,...
- 当你将新的HTML内容赋值给`innerHTML`时,浏览器会解析这段字符串,并将其当作HTML和文本插入到DOM中,这意味着任何之前通过`innerHTML`设置的事件监听器都会丢失。 - 如果你仅仅需要改变文本内容,而不需要改变...
### DIV的创建与属性设置 #### 一、概述 在前端开发中,`<div>`是一种非常常用的HTML标签,主要用于布局。通过JavaScript可以动态创建`<div>`元素,并对其进行属性设置,实现页面的动态更新。本文将详细介绍如何...