如何将动态创建的div添加到容器中
问题描述:
我需要在动态div中显示来自服务器的消息(注销)。使用这个js如何将动态创建的div添加到容器中
$('#LogOut').on('click', function(e){
$.ajax({
type: "POST",
url: "PHP/LogOut.php",
success: function(data) {
$('#message').fadeIn('fast').html('<p><span>Somesite.com</span>' + data + '<a id="close" href="">X</a></p>');
}
});
e.preventDefault();
});
我不能,我能得到它的工作,如果我有div元素编码到页面,例如:
<div id="message"></div>
与CSS #message {无显示}这与.append一起工作,我不想在每个页面上硬编码。有没有一种很好的方式来动态创建它,并在您单击注销时在每个页面上追加到div#main?除此之外,我没有任何问题,PHP是好的,注销工作正常等... 谢谢。
答
尝试使用appendTo
:
$('<div id="message"></div>').appendTo(document.body).html('<p><span>Somesite.com</span>' + data + '<a id="close" href="">X</a></p>').fadeIn('fast');
与append
的事情是,它不返回附加的元素,它使返回的父元素。
$(document.body).append($('<div></div>')) //returns $(document.body);
+0
非常感谢。我不知道appendTo,只能追加。我很感激帮助人,非常酷 - 正是我所期待的。 –
+0
当然,不得不等待5分钟。 –
您是否搜索jQuery'append'? http://api.jquery.com/append/ –
也考虑使用'templates'和'includes',而不是硬编码。 –
@ m.spyratos是的,我做了,并在我的问题的最后一段说。我使用模板和包含,最后仍输出'硬编码'的HTML。我想动态地做到这一点。 –