gpt4 book ai didi

javascript - 将 HTML 字符串解析为 DOM 并将其转换回字符串

转载 作者:行者123 更新时间:2023-11-30 11:02:35 25 4
gpt4 key购买 nike

我有一个 HTML string例如'<p><span class="text">Hello World!</span></p>'

我解析这个HTML stringDOM使用 DOMParser().parseFromString() ,因为我想更改 innerHTML一些具体的 elements .这就是为什么我 parse HTML stringDOMgetElementByClassName我获取所有元素并循环遍历它们以更改它 innerHTML .这到目前为止有效。

在我更改了 innerHTML 之后, 我尝试转换新的 DOM回到string .我不知道怎么办。我尝试的是分配 innerHTMLouterHTML (都试过了)到这样的变量:

const parser = new DOMParser();
const doc = parser.parseFromString("<p>Hello World!</p>", "text/html");
console.log(doc.innerHTML) // undefined
console.log(doc.outerHTML) // undefined

const parser = new DOMParser();
const doc = parser.parseFromString("<p>Hello World!</p>", "text/html");
console.log(doc.innerHTML) // undefined
console.log(doc.outerHTML) // undefined

我总是得到 undefined .我怎样才能将它解析回 string ?我用 innerHTML 找到了很多例子或 outerHTML ,但就我而言,出了点问题。有什么想法吗?

最佳答案

DOMParser 总是会给你一个文档 作为返回。文档没有 innerHTML属性(property),但document.documentElement确实如此,就像在页面的正常 document 中一样对象:

const myHtmlString = '<p><span class="text">Hello World!</span></p>'
const htmlDom = new DOMParser().parseFromString(myHtmlString, 'text/html');
console.log(htmlDom.documentElement.innerHTML);

请注意 <head><body>如果您不自己传递这些标签,将为您创建。如果你只想要 body ,那么:

const myHtmlString = '<p><span class="text">Hello World!</span></p>'
const htmlDom = new DOMParser().parseFromString(myHtmlString, 'text/html');
console.log(htmlDom.body.innerHTML);

关于javascript - 将 HTML 字符串解析为 DOM 并将其转换回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57074776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com