附加HTML转义文本:jQuery

Nat*_*end 6 html javascript jquery dom escaping

我习惯使用jQuery的.append()方法将文本或HTML添加到预先存在的元素的末尾.我目前正在使用jQuery .text()来转义可能包含HTML的字符串.不幸的是,似乎没有一个jQuery方法将方法的结果附加.text()到元素而不是替换其内容.

有没有办法将这个转义文本附加到元素而不是替换?或者有没有更好的方法来转义包含HTML的字符串?

谢谢.

- 编辑 -

更多上下文:我正在动态构建HTML字符串,因此我需要能够以编程方式添加带有转义内容的多个元素.

小智 8

由于我尝试了很多方法,我认为以下方法是将文本添加到所需节点的最简洁方法.不需要库存标签,只有纯文本,这将有助于避免潜在的问题

$(document.createTextNode("SomePlainText")).appendTo(p);
Run Code Online (Sandbox Code Playgroud)


Joã*_*lva 5

您可以创建一个虚拟元素来保存其结果,.text()然后将其附加到目标元素:

$('<div/>').text('your <span>html</span> string').appendTo(...);
Run Code Online (Sandbox Code Playgroud)

  • 作为旁注,你也可以使用`document.createTextNode`并追加它. (2认同)