Javascript 如何从DOM对象转换为html?

Javascript 如何从DOM对象转换为html?,javascript,html,Javascript,Html,我在中获取了一个html字符串,并将其转换为DOM对象 document.getElementById("textarea").value var parser = new DOMParser(); var html = parser.parseFromString(htmlString, 'text/html'); 如何获取我创建的DOM对象,并将其转换回html?请举例说明我如何将其放在html页面上?您似乎正在创建一个完整的文档,不确定这是否是有意的。但是,这应该适用于您现在拥有的: v

我在中获取了一个
html
字符串,并将其转换为
DOM对象

document.getElementById("textarea").value
var parser = new DOMParser();
var html = parser.parseFromString(htmlString, 'text/html');

如何获取我创建的
DOM对象
,并将其转换回
html
?请举例说明我如何将其放在
html
页面上?

您似乎正在创建一个完整的文档,不确定这是否是有意的。但是,这应该适用于您现在拥有的:

var parser = new DOMParser();
var html = parser.parseFromString('<b>ok</b>', 'text/html');
document.write(html.body.innerHTML);
var parser=new DOMParser();
var html=parser.parseFromString('ok','text/html');
document.write(html.body.innerHTML);

parseFromString()
提供的
HTMLDocument
中,您可以检索its,然后检索该元素的
innerHTML

console.log(html.documentElement.innerHTML);

请注意,标记可能会规范化,使其成为有效文档,因此您可能会以比开始更多的内容结束:

var markup = '<span>Foo</span>';
var parser = new DOMParser();
var doc = parser.parseFromString(markup, 'text/html');

console.log(doc.documentElement.innerHTML);
// "<head></head><body><span>Foo</span></body>"
var标记='Foo';
var parser=新的DOMParser();
var doc=parser.parseFromString(标记为'text/html');
log(doc.documentElement.innerHTML);
//“福”
或者,请为您进行更正:

var markup = '<table><div>Foo</div></table>';
// ...

console.log(doc.documentElement.innerHTML);
// "<head></head><body><div>Foo</div><table></table></body>"
var标记='Foo';
// ...
log(doc.documentElement.innerHTML);
//“福”

我认为这给了我一个
DOM节点
?通过“将其转换回
html
”,你的意思是将其转换回字符串吗?我希望能够在我的页面上再次使用它。我原以为会转换成
html
,但也许我可以只使用
字符串
?如果可以的话,那就可以了。
html.documentElement.outerHTML
DOMParser.parseFromString返回一个
Document
对象。此时,您可以使用
querySelector()
getElementById()
等方法,或引用
innerHTML
textcont
等属性。可以克隆节点和拆离节点。此时,您就有了一个
文档
,可以进行操作。有很多种方法可以将这些已解析的元素放入文档中。更糟糕的是,由于标记无效,您可能会出现意外行为。(例如,
这是一项测试
  • 1
  • 2