javascript - 如何将 HTML 作为文本插入

标签 javascript html

我想要 HTML,例如 <p> , 以纯文本形式显示,浏览器不会将其解释为实际标签。

我知道 JQuery 有 .html 和 .text,但这是如何在原始 JS 中完成的?

有像encodeURIComponent 这样的函数编码<p>%3Cp%3E但如果我只是把它放到 HTML 中,它会按字面解释为 %3Cp%3E .

所以还有像&gt;这样的东西和 &lt; ,它们可以工作,但我找不到任何可以从中转义和取消转义的 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/

相关文章:

javascript - react native : Constraining Animated. 值

javascript - MomentJS 有时返回无效日期

javascript - jquery 关注多种类型的下一个输入

javascript - JSONP回调函数

html - 在IOS中, Bootstrap 模式中的iframe无法滚动

javascript - 语义 UI React -- 无法在表行上设置关键属性

javascript - 当用户从顶部滚动超过一定距离时执行 Javascript

javascript - 时间范围内的 HTML5 视频

html - bootstrap中各种col类型有什么区别?

javascript - 使用 JQuery 删除表行自动计算总值