`

【转】JavaScript在IE下设置innerHTML时出现"未知的运行时错误"

 
阅读更多

今天在项目开发中遇到的比较郁闷的问题,特此记录:

程序代码思路大致如下,想动态的改变tr标签的innerHTML内容,但是IE却报"未知的运行时错误",让我百思不得其解.

<script>

document.getElementById('trone').innerHTML = '<td>haha</td>';

</script>

<tr id=‘trone’></tr>

在网上一段查找获得以下解法:

在Ajax里经常会通过innerHTML来改变界面,这个比使用DOM要简单一些。
比如:
element.innerHTML = "<b>something</b>"
不过,在IE中,有时候会出现"未知的运行时错误(unknown runtime error)",而在firefox里不会。

这主要是IE在对innerHTML进行写操作的时候会检查element是否具备做为这些内容中html对象容器的要求,比如如果你是在一个p里加入包含<li>的html代码,这是会出错的。所以如果你发现这些错误出现,尝试做两件事情:

1、检查你尝试加到innerHTML的html代码是否包含破损的html标签,如没有<ul></ul>包围的<li></li>.
2、把你的容器改成那些比较“包容”的标签,如<span></span>,<div></div>

特别注意的是<tbody>,<table>,<tr>标签里面加正确格式的<td>标签都有可能出错,所以应该避免使用这些标签作为容器,必要时可以用<td>作为容器,再锲套一层表格。

分享到:
评论

相关推荐

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

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

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

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

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

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

    basic.js 解决IE9不兼容的jsp,html中的验证。

    6. **DOM操作**:IE9在处理DOM操作时可能存在一些非标准行为,如`innerHTML`的使用。`basic.js`可能会包含一些工作函数来处理这些问题。 7. **ES5方法**:一些ES5的新特性,如`Array.prototype.forEach()`、`Array....

    JavaScript在IE中“意外地调用了方法或属性访问”

    在这段代码中,尝试通过设置`innerHTML`属性来修改`p`标签的内容,但在IE中直接插入`&lt;CENTER&gt;`标签会导致运行时错误。这是因为IE对某些特定的HTML标签有严格的限制。 4. **经典的“无法打开Internet站点”异常** ...

    IE6-IE9使用JSON、table[removed]所引发的问题

    但在IE的兼容模式下,尝试更改`table`、`thead`、`tfoot`、`tbody`、`tr`、`col`、`colgroup`、`html`、`title`、`style`、`frameset`等元素的`innerHTML`时,会出现“未知的运行时错误”。这是因为这些元素的`...

    label标签使用过程中遇到的问题分析及解决思路

    而在IE6, 7, 8这些较旧版本的浏览器中,JavaScript引擎对DOM操作的错误检测更为严格,因此在尝试访问或修改`innerText`或`innerHTML`属性时,会导致“未知的运行时错误”。 为了解决这个问题,开发者应该首先检查并...

    正确的4种挂马方式(属于比较简单的) - 京华志

    在挂马场景中,攻击者会利用目标网站的安全漏洞,在网页中插入一个不可见(宽度和高度设置为0)的`&lt;iframe&gt;`标签,并将其源链接指向恶意站点。用户访问目标网站时,恶意代码会在后台静默加载并执行,导致用户的电脑...

    兼容Firefox的Javascript XSLT 处理XML文件

    在现代网页开发中,处理XML文件是常见需求之一,特别是在动态生成网页内容和数据交换时。XSLT(Extensible Stylesheet Language Transformations)是一种用于转换XML文档的语言,它允许我们定义如何将XML文档转换为...

    动态创建样式表在各浏览器中的差异测试代码

    在非IE浏览器中,我们不能直接用`innerHTML`或`cssText`属性,因为它们可能导致未知错误,比如在IE中那样抛出"unknow runtime error"。 为了确保在所有浏览器中都能正确地动态创建和应用CSS样式,开发者需要编写...

    javascript eval&#40;func(&#41;)使用示例

    例如,如果有一系列的元素(如div1, div2, div3...),而这些元素的ID是未知的,我们可以使用for循环来生成这些ID,并用eval()来设置元素的innerHTML属性,如示例中的“document.getElementById("div"+loop)....

    javascript学习笔记(七)Ajax和Http状态码

    Ajax技术是一种在不重新加载整个页面的情况下,能够与服务器交换数据并更新部分网页的技术。它最早由Google在其产品如Google地图中使用,随着其便捷性和高效性,逐渐成为Web开发的标准做法之一。 在JavaScript中,...

    JS常用语句整理(推荐)

    使用`try...catch...finally`处理可能出现的错误,`try`块包含可能出错的代码,`catch`块捕获错误,`finally`块无论是否发生错误都会执行。 12. 事件处理 JS可以监听用户的交互事件,如点击、提交表单等,通过`...

    ajax原理,xmlHttpRequest

    AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。其核心在于使用`XMLHttpRequest`对象进行后台数据交互。本文将深入探讨AJAX的基本...

    html5shiv:html5shiv集成

    这些新元素包括, , , , , 等,它们在现代浏览器中能够很好地工作,但在IE的老版本中则被视为未知标签,从而导致样式失效或者无法正常布局。 HTML5 Shiv的工作原理是通过JavaScript动态创建这些HTML5元素,并赋予...

    2021大厂前端秋季招聘面试(社招+校招)核心面试点(第三期)1

    在这个例子中,攻击者可以在输入框中输入JavaScript代码,点击按钮后,这些代码将被插入到页面的`&lt;div&gt;`中并执行。 前端开发人员必须了解并掌握这些安全概念,以确保开发的Web应用能够有效防御各种安全攻击,保护...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    在XML文档中,上述几种语句的语法都是错误的。因为: 1.所有的标记都必须要有一个相应的结束标记; 2.所有的XML标记都必须合理嵌套; 3.所有XML标记都区分大小写; 4.所有标记的属性必须用""括起来; 所以上列...

Global site tag (gtag.js) - Google Analytics