jQuery append 文本

标签 jquery html css append

我想在 div 中 append 一些简单的数据,例如:

$('#msg').append('Some text');

在正文中,我想我需要放置类似 html 的内容。

<div id="test">    

<div id="msg"></div>  //show text inside it.

</div>

但是,我想在 #msg 中添加一些 CSS。例如,背景颜色。现在的问题是,由于 #msg div 一直存在,即使没有 append 文本,我也会看到背景颜色。我试图添加像“display:none”这样的 css,但在那种情况下我看不到 append 到它的文本。 我可以这样做,以便 #msg div 仅在 append 文本时出现在 #test 中吗?谢谢。

最佳答案

append 文本(对比 append HTML)的正确方法是:

var someText = "Hello, World!";
$('#msg').append(document.createTextNode(someText));

如果 someText 来自用户输入或其他任何内容,它将被正确地进行 HTML 转义。哪个应该防止 JavaScript injection, the 3rd most common web security vulnerability in the world

来自 https://stackoverflow.com/a/944456/122441

关于jQuery append 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6588630/

相关文章:

css - 是否可以在保持纵横比不变的情况下将 DIV 限制为最大宽度?

javascript - 这里如何选择TR?

MVC4 的 jQuery 数据表捆绑配置?

css - 如何将 100% div 高度与包装器的自动高度一起使用?

javascript - 将图像添加到我的阵列?

css - HTML5 获取缩放的 Canvas 大小

javascript - 如何在不使用 "style=white-space: pre"的情况下制作带有新行的文本节点?

html - 禁用输入时背景透明的 Safari 颜色

javascript - 将动态 jquery a href 添加到动态 jquery div

jquery - 静音音频不起作用