如何使用jQuery追加/预置/创建文本节点

Nik*_*iko 33 javascript jquery

可能重复:
使用jQuery追加转义文本?

我的HTML有点像这样:

<div id="selector">Hello World</div>
Run Code Online (Sandbox Code Playgroud)

现在我想在这个div中附加一些文字.我知道我可以简单地使用

$('#selector').append(text);
Run Code Online (Sandbox Code Playgroud)

但这不会逃避任何特殊字符text.另一种方法是将文本包装在span中:

$('#selector').append( $('<span>').text(text) );
Run Code Online (Sandbox Code Playgroud)

但这很难看,因为它会产生不必要的标记.所以我目前的解决方案是手动创建一个TextNode:

$('#selector').append( document.createTextNode(text) );
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何jQuery风格的方法来做到这一点?

lon*_*day 35

这种createTextNode方法可能是最好的方法.如果你想要一个jQuery-ish语法,你可以制作一个插件.

$.fn.appendText = function(text) {
    return this.each(function() {
        var textNode = document.createTextNode(text);
        $(this).append(textNode);
    });
};
Run Code Online (Sandbox Code Playgroud)