我只是希望我的页面只显示div的内容,并丢弃所有其他元素,所以我尝试将我的身体设置为该div,但它只是失败了:
我的代码:
document.body = document.querySelector('#b')

<div id="a">
div a
</div>
<div id="b">
div b
</div>
&#13;
结果:
{
"message": "Uncaught HierarchyRequestError: Failed to set the 'body' property on 'Document': The new body element is of type 'DIV'. It must be either a 'BODY' or 'FRAMESET' element.",
"filename": "http://stacksnippets.net/js",
"lineno": 19,
"colno": 23
}
那么,如何将文档正文设置为div?
答案 0 :(得分:4)
如错误中所述,您无法将div
或其他元素设置为正文。
您可以更改body
元素中的HTML。
将正文的innerHTML
设置为目标元素的outerHTML
。这将取代新内容的身体的先前内容。
document.body.innerHTML = document.querySelector('#b').outerHTML;
&#13;
<div id="a">
div a
</div>
<div id="b">
div b
</div>
&#13;
答案 1 :(得分:3)
document.getElementsByTagName('body')[0].innerHTML = document.querySelector('#b').innerHTML;
&#13;
<div id="a">
div a
</div>
<div id="b">
div b
</div>
&#13;
答案 2 :(得分:2)
替换
document.body = document.querySelector('#b')
使用
document.body.innerHTML = document.querySelector('#b').innerHTML
答案 3 :(得分:0)
使用jQuery:$('div')。not(':first')。remove();