jQuery追加文本

我想在div中添加一些简单的数据,如:

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

在身体,我想我将需要放置的HTML像。

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

但是,我想添加一些CSS到#msg 。 例如,背景颜色。 现在的问题是,由于#msg div始终存在,所以即使没有附加文本,我也能看到背景颜色。 我曾尝试添加像“显示:无,但在这种情况下,我不能看到附加到它的文本的CSS,我可以这样做,只有当文本被附加到它#msg div出现在#test里面?谢谢。

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

附加文本的正确方式(与追加HTML相对 )应该是:

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

如果someText来自用户input或其他任何东西,它将正确的HTML转义。 这应该防止JavaScript注入,这是世界上第三个最常见的networking安全漏洞 。

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

你可以用多种方法来做到这一点。 你可以创build一个css类并执行此操作:
方法1
CSS:

 .hello{ background-color: green } 

HTML

 <div id="msg"></div> 

使用Javascript:

 $("#msg").append("hello world").addClass("hello"); 

方法2
HTML

 <div id="msg" class="hello" style="display:none;"></div> 

CSS:

 .hello{ background-color: green } 

使用Javascript:

 $("#msg").append("hello world").show(); 

方法3 HTML:

 <div id="msg"></div> 

使用Javascript:

 $("#msg").append("hello world").css("background-color","green");