JAVASCRIPT:IE:outerHTML
使用IE浏览器时遇到的outerHTML问题 如果我说:JAVASCRIPT:IE:outerHTML,javascript,html,internet-explorer,outerhtml,Javascript,Html,Internet Explorer,Outerhtml,使用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
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;
第389行属于“msg.outerHTML=txt
有人能帮我做这个吗。。提前感谢出于某些原因,我不知道,在大多数情况下,不允许修改outerHTML。 我猜,这是因为在修改元素的outerHTML时,实际上是在替换当前元素 在国际海事组织看来,更换一个元素比修改其外部TML更安全 在您的情况下,也许这就足够了: 此处更新:
<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>
试验
一些内容。。。
window.onload=函数(){
var sub=document.getElementById('sub');
var txt=“更新完成!”;
sub.innerHTML=txt;
警报(“测试1”);
txt=“1错误:- 某些错误
”;
sub.innerHTML=txt;
}
由于我不知道的某些原因,在大多数情况下不允许修改outerHTML。
我猜,这是因为在修改元素的outerHTML时,实际上是在替换当前元素
在国际海事组织看来,更换一个元素比修改其外部TML更安全
在您的情况下,也许这就足够了:
此处更新:
<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>
试验
一些内容。。。
window.onload=函数(){
var sub=document.getElementById('sub');
var txt=“更新完成!”;
sub.innerHTML=txt;
警报(“测试1”);
txt=“1错误:- 某些错误
”;
sub.innerHTML=txt;
}
您的代码试图实现什么?在这两种情况下,您都会:
p
元素p
元素附加到sub
(我假设它本身也是一个元素)p
元素的outerHTML
设置为某个文本子的子节点:
sub.appendChild(document.createTextNode(“更新完成!”)代码>
sub
仍然为空,只需执行以下操作:
sub.innerHTML = "Update Complete!";
您的代码试图实现什么?在这两种情况下,您都会:
p
元素p
元素附加到sub
(我假设它本身也是一个元素)p
元素的outerHTML
设置为某个文本子的子节点:
sub.appendChild(document.createTextNode(“更新完成!”)代码>
sub
仍然为空,只需执行以下操作:
sub.innerHTML = "Update Complete!";
嗯,我不知道这是否确实是问题所在,但是'ul'不是'p'的有效子元素。我不确定您是否可以设置outerHTML。(您可以使用innerHTML,tho)。无论哪种方式,OutHTML都不是非常跨浏览器兼容的,所以我会考虑不使用它。IE.中不存在iNelHTML。它们具有内部HTML。但是它没有显示文本。它只将其存储在innerhtml=“some text”中。但是IE中确实存在不显示它的
innerHTML
,尽管它仅在某些情况下是可写的(例如,不能为tbody
元素写入,但可以为p
元素写入)outerHTML
是IE特有的,据我所知,它不适用于任何其他浏览器。你应该避免它。@Justin Johnson你能给我一个例子吗?也许我可以解决你的想法。我不知道这是否确实是问题所在,但“ul”不是“p”的有效子元素。我不确定你是否可以设置outerHTML。(您可以使用innerHTML,tho)。无论哪种方式,OutHTML都不是非常跨浏览器兼容的,所以我会考虑不使用它。IE.中不存在iNelHTML。它们具有内部HTML。但是它没有显示文本。它只将其存储在innerhtml=“some text”中。但是IE中确实存在不显示它的innerHTML
,尽管它仅在某些情况下是可写的(例如,不能为tbody
元素写入,但可以为p
元素写入)outerHTML
是IE特有的,据我所知,它不适用于任何其他浏览器。你应该避免它。@Justin Johnson你能给我一个例子吗?也许我可以解决你的想法- 和
- 不是我出错时创建的元素。但是他们不会自动创建所述元素吗?消息:对象不支持此属性或方法行:5个字符:1个代码:0 URI:抱歉,但是localhost在这里不起作用,您能发布代码然后将链接发送给我吗,谢谢我知道。。你自己试试看。。使用IE浏览器。我只是指出了IE browserit在我这边的工作中发现的错误,IE6,IE7和IE8,可能是什么原因导致了这个错误,如果我们能看到你的代码就更好了
- 和
- 不是我出错时创建的元素。但是他们不会自动创建所述元素吗?消息:对象不支持此属性或方法行:5个字符:1个代码:0 URI:抱歉,但是localhost在这里不起作用,您能发布代码然后将链接发送给我吗,谢谢我知道。。你自己试试看。。使用IE浏览器。我只是指出了IE browserit在我这方面的工作中发现的错误,IE6、IE7和IE8,可能是某些原因导致了错误,如果我们能看到您的代码就更好了。文本节点将html标记读取为文本。所以这并不能解决我的问题。我想要实现的是将一个html文本添加到一个p元素中。所以,只需使用
then.text节点将html标记读取为文本。所以这并不能解决我的问题。我想要实现的是将一个html文本添加到一个p元素中,所以,只需使用sub.innerHTML
。sub.innerHTML
- 不是我出错时创建的元素。但是他们不会自动创建所述元素吗?消息:对象不支持此属性或方法行:5个字符:1个代码:0 URI:抱歉,但是localhost在这里不起作用,您能发布代码然后将链接发送给我吗,谢谢我知道。。你自己试试看。。使用IE浏览器。我只是指出了IE browserit在我这方面的工作中发现的错误,IE6、IE7和IE8,可能是某些原因导致了错误,如果我们能看到您的代码就更好了。文本节点将html标记读取为文本。所以这并不能解决我的问题。我想要实现的是将一个html文本添加到一个p元素中。所以,只需使用