InnerHTML不包括"框架"标签

时间:2017-07-23 07:17:58

标签: javascript html

我有一个DOM元素,里面有一个带有标记" frame"的节点。 但是当我做innerHTML时,"框架"标签消失了。为什么呢?

示例:

我有这个字符串:

<div><p>Text</p><frame></frame></div>

如果我想将此字符串作为元素的HTML,那么&#34; frame&#34;标签消失:

var div = document.createElement('div');
div.innerHTML = str.trim();

结果:

<div><p>Text</p></div>

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您无法在<frame>标记内使用<body> 为此,请在<frameset>内写<body>而不是<frame>并使用<frameset></frameset>
而且,在<body>标记(或DOM)中,您可以使用<iframe>

答案 1 :(得分:0)

试试这个

var container = document.createElement('div');
var div = document.createElement('div');
var p=document.createElement('p');
p.innerHTML="Text";
var frame=document.createElement('frame');
div.appendChild(p);
div.appendChild(frame);
container.appendChild(div);
alert(container.innerHTML);
document.getElementById("mainContainer").appendChild(container);
alert(document.getElementById("mainContainer").innerHTML);
<div id="mainContainer"></div>