我有一个DOM元素,里面有一个带有标签"frame"的节点。 但是当我做innerHTML时,"框架"标签消失了。为什么?
例:
我有这个字符串:
<div><p>Text</p><frame></frame></div>
如果我想把这个字符串作为一个元素的 HTML,"frame"标签就会消失:
var div = document.createElement('div');
div.innerHTML = str.trim();
结果:
<div><p>Text</p></div>
我该如何解决这个问题?
您不能在标签中使用<body>
<frame>
。
为此,请编写<frameset>
而不是<body>
,并在<frameset></frameset>
中使用<frame>
。
并且,在<body>
标签(或 DOM(中,您可以使用<iframe>
.
试试这个
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>