【发布时间】:2019-07-17 11:27:18
【问题描述】:
我有一个 HTML string 例如'<p><span class="text">Hello World!</span></p>'
我使用DOMParser().parseFromString() 将HTML string 解析为DOM,因为我想更改某些特定elements 的innerHTML。这就是为什么我 parse HTML string 到 DOM 和 getElementByClassName 我得到我所有的元素并循环通过它们来改变它 innerHTML。到目前为止,这有效。
更改innerHTML 后,我尝试将新的DOM 转换回string。我不知道怎么做。我尝试将innerHTML 或outerHTML(都尝试过)分配给这样的变量:
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() 中缺少
()。应该是(new DOMParser()).parseFromString(...)
标签: javascript html string parsing domparser