jQuery中document.createTextNode('')的等价物是什么

pen*_*uru 32 jquery

我可以在jquery而不是document.createTextNode(' ')js行中使用什么.

我想这样做:

js: divButtons.appendChild(document.createTextNode(' '));

jquery: $("#divButtons").append(?????);

usr*_*usr 55

请注意现有的答案.他们展示了如何附加HTML.HTML不是文本.将文本视为HTML是a)一个bug和b)危险的.

这是一个理智的解决方案:

$('selector').append(document.createTextNode('text < and > not & html!'))
Run Code Online (Sandbox Code Playgroud)

这只是为追加部分使用jQuery.使用createTextNode没有错.jQuery在其text(str)函数内部使用createTextNode .


Chr*_*ian 8

var jqTextNode = $(document.createTextNode(' '));
Run Code Online (Sandbox Code Playgroud)

创建文本节点的jquery表示.我认为没有一条可行的捷径.


Anu*_*rag 6

jQuery中没有等效的东西createTextNode.您始终可以使用DOM方法,或者围绕它编写jQuery包装器.您可以找到的最接近的事情是在创建新元素时,您可以单独指定文本部分.

$('<div>', {
    text: '<hello world>'
});
Run Code Online (Sandbox Code Playgroud)


小智 6

我知道这是一个老问题,但我一直在寻找同样的事情......

我所知道的最接近的方法是.text()方法.

这以与创建新TextNode相同的方式安全地转义文本,但它只能用于指定节点的完整内容.

例如

var mynode = jQuery('#node-id');
mynode.text('A<B implies B>A');
Run Code Online (Sandbox Code Playgroud)