如何通过Javascript将文档正文设置为div?

时间:2017-01-12 03:38:23

标签: javascript html

我只是希望我的页面只显示div的内容,并丢弃所有其他元素,所以我尝试将我的身体设置为该div,但它只是失败了:

我的代码:



document.body = document.querySelector('#b')

<div id="a">
    div a
</div>

<div id="b">
    div b
</div>
&#13;
&#13;
&#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?

4 个答案:

答案 0 :(得分:4)

如错误中所述,您无法将div或其他元素设置为正文。

您可以更改body元素中的HTML。

将正文的innerHTML设置为目标元素的outerHTML。这将取代新内容的身体的先前内容。

&#13;
&#13;
document.body.innerHTML = document.querySelector('#b').outerHTML;
&#13;
<div id="a">
  div a
</div>

<div id="b">
  div b
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:3)

&#13;
&#13;
document.getElementsByTagName('body')[0].innerHTML = document.querySelector('#b').innerHTML;
&#13;
<div id="a">
    div a
</div>

<div id="b">
    div b
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:2)

替换

document.body = document.querySelector('#b')

使用

document.body.innerHTML = document.querySelector('#b').innerHTML

答案 3 :(得分:0)

使用jQuery:$('div')。not(':first')。remove();