我有一个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>
我该如何解决这个问题?
答案 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>