附加 HTML 转义文本:jQuery

Append HTML-escaped text: jQuery

本文关键字:jQuery 文本 转义 HTML 附加      更新时间:2023-09-26

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

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

谢谢。

-编辑-

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

由于我尝试了很多方法,我认为以下方法是将文本添加到您想要的任何节点的最干净方法。无需库存标签,只需纯文本,这将有助于避免潜在问题

$(document.createTextNode("SomePlainText")).appendTo(p);

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

$('<div/>').text('your <span>html</span> string').appendTo(...);
你可以

使用

$(whatever).text($(whatever).text() + whatever_you_want_to_append);

编辑我评论中的小提琴,试试这个:

for ( /* some looping parameters */ ) {
    $('<li></li>') // create an li
        .text(stringWithHtml) // pass it the text, as text not html
        .appendTo('#thisIsWhatINeed'); // append it where you want it
}

js小提琴