【发布时间】:2019-03-17 15:25:44
【问题描述】:
我最近遇到了一个问题,我需要先从数据中去除 html 标签,然后再将其显示在屏幕上。
数据是这样来的:
<p><span style="color: rgb(68, 68, 68);">Sample data which i want to get.</span></p>
我尝试了什么
为了解决这个问题,我创建了一个div,用innerHtml添加了html,用textContent提取了文本。
function strip(html)
{
var tmp = document.createElement("DIV");
tmp.innerHTML = html;
return tmp.textContent || tmp.innerText || "";
}
以上代码取自stackoverflow。
问题
我担心这是否正确,因为每次调用strip 函数时都会创建额外的div。
问题
有没有更好的方法来做到这一点?
【问题讨论】:
-
还有什么其他方法可以做到这一点?
-
考虑详细解释您的案例。你有 XY 问题。如前所述,通常您必须在 React 中避免此类事情。
-
@EddeAlmeida 只要没有
.appendChild完成应该就没事吧? -
我同意,但是如果 OP 从 XHR 响应中获取 HTML 字符串怎么办?
-
@EddeAlmeida 没有人在操纵 DOM。重新阅读代码。
标签: javascript html