首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JAVASCRIPT: IE: outerHTML

JAVASCRIPT: IE: outerHTML
EN

Stack Overflow用户
提问于 2010-01-11 16:05:59
回答 2查看 7K关注 0票数 1

使用IE浏览器使用outerHTML时遇到的问题

如果我说:

代码语言:javascript
复制
txt="Update Complete!";
msg = sub.appendChild(d.createElement("p"));
msg.outerHTML = txt;

它工作得很好:

但如果我说

代码语言:javascript
复制
txt="1 Error:<ul><li>Some Error</li></ul>";
msg = sub.appendChild(d.createElement("p"));
msg.outerHTML = txt;

给我一个错误:

代码语言:javascript
复制
Message: Unknown runtime error
Line: 389
Char: 4
Code: 0
URI: http://10.1.1.16/schedule_calendar/js/validate.js

第389行与"msg.outerHTML = txt;“

有人能帮我解决这个问题吗..提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-11 16:26:34

出于某些原因,我不知道,在大多数情况下,修改outerHTML是不允许的。我猜这是因为当你修改一个元素的outerHTML时,你实际上是在替换当前的元素。

在国际海事组织中,替换元素比修改元素的outerHTML更安全。

在您的情况下,也许这就足够了:

在这里更新

代码语言:javascript
复制
<html>
<head><title>Test</title></head>
<body>
<div>
    some content...
    <div id="sub"></div>
</div>
<script type="text/javascript">
window.onload = function(){
    var sub = document.getElementById('sub');
    var txt="<p>Update Complete!</p>";
    sub.innerHTML = txt;

    alert('test 1');

    txt="1 Error:<ul><li>Some Error</li></ul>";
    sub.innerHTML = txt;
}
</script>
</body>
</html>
票数 1
EN

Stack Overflow用户

发布于 2010-01-11 17:07:35

你的代码想要达到什么目的?在这两种情况下,您都需要:

  1. 创建新的p元素
  2. p元素附加到sub (我假设它本身也是一个元素)
  3. 将<代码>D10元素的<代码>D9设置为一些文本。<代码>H211<代码>G212

你也可以这样做:

  1. 使用所需的文本数据创建一个新的textNode
  2. 将其附加到sub的子节点:

sub.appendChild(document.createTextNode("Update Complete!"));

或者,如果sub为空,只需执行以下操作:

代码语言:javascript
复制
sub.innerHTML = "Update Complete!";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2040557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档