TypeError: (intermediate value).parseFromString(...).replace 不是函数

Posted

技术标签:

【中文标题】TypeError: (intermediate value).parseFromString(...).replace 不是函数【英文标题】:TypeError: (intermediate value).parseFromString(...).replace is not a function 【发布时间】:2022-01-17 20:12:31 【问题描述】:

我想将 parsedhtml 显示到元素中。但在显示之前,我应该将一点 html 更改为 parsedHtml。所以我用替换这个类似的代码。但它有TypeError: (intermediate value).parseFromString(...).replace is not a function 问题。你能帮我解决这个问题吗?谢谢

const parsedHTML = new DOMParser().parseFromString(html, "text/html");
const renderHtml = parsedHTML.replace('aria-expanded="false"', 'aria-expanded="true"');
console.log(renderHtml);

【问题讨论】:

看来问题是因为 .replace() 是一个字符串函数。 parsedHTML 变量不是字符串而是 DOMParser 对象,因此 .replace() 不是可用函数。您可能需要在名为 html 的变量上运行 .replace() 函数,然后将其传递给 parseFromString() 函数。 【参考方案1】:

您将 DOMParser 对象视为字符串。那是行不通的。

您需要这样做,因为不建议您在解析之前更改有效的 HTML

const html = `<html><div aria-expanded="false"></div></html>`
const parsedHTML = new DOMParser().parseFromString(html, "text/html");
parsedHTML.querySelector("div").setAttribute("aria-expanded",true)
console.log(parsedHTML.querySelector("div"));

【讨论】:

以上是关于TypeError: (intermediate value).parseFromString(...).replace 不是函数的主要内容,如果未能解决你的问题,请参考以下文章

Uncaught TypeError: (intermediate value)(...) is not a function

Uncaught TypeError: (intermediate value)(...) is not a function 上一个方法结束没有加分号; 代码解析报错

Intermediate Jan 17 2016

Intermediate Jan 10 2016

忍者:错误:...libmemalloc_intermediates/export_includes',需要...,缺少并且没有已知的规则可以做到

学习笔记之Intermediate Python for Data Science | DataCamp