使用IE浏览器使用outerHTML时遇到的问题
如果我说:
txt="Update Complete!";
msg = sub.appendChild(d.createElement("p"));
msg.outerHTML = txt;它工作得很好:
但如果我说
txt="1 Error:<ul><li>Some Error</li></ul>";
msg = sub.appendChild(d.createElement("p"));
msg.outerHTML = txt;给我一个错误:
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;“
有人能帮我解决这个问题吗..提前感谢
发布于 2010-01-11 16:26:34
出于某些原因,我不知道,在大多数情况下,修改outerHTML是不允许的。我猜这是因为当你修改一个元素的outerHTML时,你实际上是在替换当前的元素。
在国际海事组织中,替换元素比修改元素的outerHTML更安全。
在您的情况下,也许这就足够了:
在这里更新:
<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>发布于 2010-01-11 17:07:35
你的代码想要达到什么目的?在这两种情况下,您都需要:
p元素p元素附加到sub (我假设它本身也是一个元素)你也可以这样做:
sub的子节点:sub.appendChild(document.createTextNode("Update Complete!"));
或者,如果sub为空,只需执行以下操作:
sub.innerHTML = "Update Complete!";https://stackoverflow.com/questions/2040557
复制相似问题