javascript - 如何使用 jQuery 追加/前置/创建文本节点

标签 javascript jquery

Possible Duplicate:
Escaping text with jQuery append?

我的 HTML 有点像这样:

<div id="selector">Hello World</div>

现在我想向这个 div 添加一些文本。我知道我可以简单地使用

$('#selector').append(text);

但这不会转义text 中的任何特殊字符。另一种方法是将文本包装在一个范围内:

$('#selector').append( $('<span>').text(text) );

但这很丑陋,因为它创建了不必要的标记。所以我目前的解决方案是手动创建一个TextNode:

$('#selector').append( document.createTextNode(text) );

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

最佳答案

createTextNode 方法可能是最好的方法。如果你想拥有类似 jQuery 的语法,你可以制作一个插件。

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

关于javascript - 如何使用 jQuery 追加/前置/创建文本节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7619739/

相关文章:

javascript - 语义用户界面 react : How to set content load on pagination

javascript - 适用于 iOS 的 Cordova healthkit 插件函数返回未定义?

Javascript(或其他一些语言)无需使用 pageYOffset 即可检测车轮方向

javascript - 如何同时执行动画和淡出?

javascript - 用于标记的文本区域(不是 HTML 标记)

javascript - 每次鼠标移动时,使 JQuery 工具提示检索一个新值

javascript - 使用 ajax 调用进行 JSON 字符串化

javascript - 获取 JavaScript 数组的键和值到变量中

javascript - 如何在 jquery POST 中将 enctype 作为 multipart/form-data 发送

javascript - Bing map 图钉