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

时间:2010-08-05 06:53:28

标签: jquery

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

我正试图这样做:

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

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

4 个答案:

答案 0 :(得分:53)

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

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

$('selector').append(document.createTextNode('text < and > not & html!'))

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

答案 1 :(得分:8)

var jqTextNode = $(document.createTextNode(' '));

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

答案 2 :(得分:6)

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

$('<div>', {
    text: '<hello world>'
});

答案 3 :(得分:6)

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

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

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

e.g。

var mynode = jQuery('#node-id');
mynode.text('A<B implies B>A');