我想要 HTML,例如 <p>
, 以纯文本形式显示,浏览器不会将其解释为实际标签。
我知道 JQuery 有 .html 和 .text,但这是如何在原始 JS 中完成的?
有像encodeURIComponent 这样的函数编码<p>
至 %3Cp%3E
但如果我只是把它放到 HTML 中,它会按字面解释为 %3Cp%3E
.
所以还有像>
这样的东西和 <
,它们可以工作,但我找不到任何可以从中转义和取消转义的 JavaScript 函数。
是否有一种正确的方法可以使用原始 JavaScript 将 HTML 显示为文本?
最佳答案
无需转义字符。只需使用 createTextNode
:
var text = document.createTextNode('<p>Stuff</p>');
document.body.appendChild(text);
请在此处查看工作示例:http://jsfiddle.net/tZ3Xj/ .
jQuery 正是这样做的(line 43 of jQuery 1.5.2):
return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
关于javascript - 如何将 HTML 作为文本插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5617260/