`
dove19900520
  • 浏览: 600467 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IE下给DIV设置innerHTML时报未知的错误

阅读更多

和很多朋友说的一样,在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属性也会出现错误,这个也是需要注意的。

 

暂时整理这些,如有更多发现,将继续补充。

0
0
分享到:
评论

相关推荐

    js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法

    本文实例讲述了js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法。分享给大家供大家参考。具体分析如下: 问题描述: 网站中使用了一个js插件,设置innerHTML时,在IE8下报错“未知运行时错误”: &lt;div...

    Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法

    [removed] ”trone”&gt; &lt;/tr&gt; 在IE中,有时候会出现”未知的运行时错误(unknown runtime error)”,而在firefox里不会。 这主要是IE在对innerHTML进行写操作的时候会检查element是否具备做为这些内容中html对象容器的...

    python的xpath获取div标签内html内容,实现innerhtml功能的方法

    python的xpath没有获取div标签内html内容的功能,也就是获取div或a标签中的innerhtml,写了个小程序实现一下: 源代码 [webadmin@centos7 csdnd4q] #162&gt; vim /mywork/python/csdnd4q/z040.py #去掉最外层标签,...

    当div设置contentEditable=true时,重置其内容后无法光标定位

    最近在做一评论功能,需要能够评论表情,那 contentEditable 这个属性...var _div = document.querySelector('.discuss_area'); var range = document.createRange(); range.selectNodeContents(_div); range.collapse

    jsp\(二)未知的运行时错误(ie6的未指明的错误) .doc

    在使用JSP开发Web应用程序的过程中,可能会遇到一个特定的问题:即在Internet Explorer 6浏览器下出现“未指明的错误”,而在较新的版本如IE7和IE8中则显示为“未知的运行时错误”。这个问题主要发生在对某些HTML...

    IE6-IE9中tbody的innerHTML不能赋值的解决方法

    IE6-IE9中tbody的innerHTML不能赋值,重现代码如下 Js代码 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=utf-8/&gt; &lt;title&gt;IE6-IE9中tbody的innerHTML不能复制bug&lt;/title&gt; &lt;/...

    IE6/7/8中使用innerHTML清空元素,其子元素也被清空

    4. **避免不必要的innerHTML操作**:在可能的情况下,减少对`innerHTML`的依赖,转而使用DOM操作API,如`createElement`、`appendChild`和`removeChild`等,可以更好地控制DOM树的结构,避免这类问题。 5. **条件...

    IE bug table元素的innerHTML

    首先时飘忽不定的collapse的border,ie6偏偏...排查了半天,结果是IE的table元素为只读,不能使用innerHTML!!!! 同样为只读的元素还有COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, T

    IE 下的只读 innerHTML

    这样,即使在IE下,也能正确地动态添加表格行。 示例代码如下: ```javascript for (var i in entries) { var filetable = document.getElementById('filelist'); var tr = document.createElement('tr'); var ...

    innerHtml(转)

    3. **安全问题**:使用`innerHTML`设置用户输入的内容时,需要注意XSS(跨站脚本攻击)风险。不适当的使用可能导致恶意代码执行,因此需要进行适当的输入验证和编码。 4. **与innerText的区别**:`innerText`属性与...

    html div没有被撑开的原因及解决办法

    通过使用`lj_设置子dom的height 100%即可.png`、`必须清除子dom的float才能撑开父dom.txt`、`absolute存在的时候floate会失效.txt`、`css - div层为什么没有被自动撑开-.url`这些资源,你可以更深入地学习和实践这些...

    innerHTML-outerHTML-innerTEXT.txt

    - 在某些情况下,浏览器可能会自动修正或调整通过 `innerHTML` 设置的 HTML,因此实际渲染的内容可能与预期有所不同。 ### 实际应用示例 假设我们有一个简单的 HTML 页面,包含一个按钮和一个 `div` 元素: ```...

    IE6/IE7/IE8/IE9中tbody的innerHTML不能赋值的完美解决方案

    最近发现各大类库都能利用xxx[removed]=HTML片断来生成节点元素,再把它们插入到目标元素的各个位置上。这东西实际上就是insertAdjacentHTML,但是IE可恶的innerHTML把这优势变成劣势。

    CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法

    总结起来,解决CodeMirror2在IE7/IE8下出现的“未知运行时错误”的关键在于理解`innerHTML`在老版本IE中的限制,以及调整HTML结构以避免使用不支持此属性的元素。通过将`textarea`移出`&lt;p&gt;`元素并放入`&lt;div&gt;`中,...

    js innerHTML 改变div内容的方法

    - 当你将新的HTML内容赋值给`innerHTML`时,浏览器会解析这段字符串,并将其当作HTML和文本插入到DOM中,这意味着任何之前通过`innerHTML`设置的事件监听器都会丢失。 - 如果你仅仅需要改变文本内容,而不需要改变...

    DIV的创建.doc

    ### DIV的创建与属性设置 #### 一、概述 在前端开发中,`&lt;div&gt;`是一种非常常用的HTML标签,主要用于布局。通过JavaScript可以动态创建`&lt;div&gt;`元素,并对其进行属性设置,实现页面的动态更新。本文将详细介绍如何...

Global site tag (gtag.js) - Google Analytics