Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使div内容成为文档对象_Javascript - Fatal编程技术网

Javascript 使div内容成为文档对象

Javascript 使div内容成为文档对象,javascript,Javascript,我有一个文档对象 fetch("/something.html") .then(res => res.text()) .then(res => { console.log(res); // logs "#document" var parser = new DOMParser(); var html = parser.parseFromString(res, 'text/html'); var el = document.getElement

我有一个文档对象

fetch("/something.html")
  .then(res => res.text())
  .then(res => {
    console.log(res); // logs  "#document"
    var parser = new DOMParser();
    var html = parser.parseFromString(res, 'text/html');
    var el = document.getElementById("content");
    //set "content" to htmlDoc content
  });

如何将div的html设置为没有iframe的已解析文档?

如果要在某个元素中设置从API收到的html

document.getElementById("content").innerHTML = html;
这将在id为
content
的给定元素中插入html



请注意,innerHTML属性仅代表完整HTML文档的一部分。如果您收到另一个HTML页面作为响应,那么这将不是一个好主意。

您应该可以这样设置innerHTML:


el.innerHTML=html

如果不想使用
innerHTML
,可以执行以下操作:

document.getElementById('content').appendChild(html.cloneNode());
document.getElementById('content').appendChild(html.getElementsByTag('body')[0].cloneNode());
如果html可能包含要排除的标题或内容,可以执行以下操作:

document.getElementById('content').appendChild(html.cloneNode());
document.getElementById('content').appendChild(html.getElementsByTag('body')[0].cloneNode());
如果要将副本设置为“安全”,如在“排除脚本”和任何未明确列入白名单的元素中,可以使用如下函数:然后执行:


res
字符串是什么样子的?是的,这完全取决于
res
字符串我认为它是否包含头html标记我不认为这是一个好主意,如果html包含
和主体标记,那么内容div就在主体内,而您又在主体内。我同意,这完全取决于收到的答复。事实上,如果存在额外的头部,浏览器通常会移除。我会更新答案。