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 上一个方法结束没有加分号; 代码解析报错
忍者:错误:...libmemalloc_intermediates/export_includes',需要...,缺少并且没有已知的规则可以做到