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安全漏洞 。
你可以用多种方法来做到这一点。 你可以创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");