我正试图用AJAX帖子发表评论。但是最后comment
元素包含提交按钮。添加完成后,会在提交按钮后显示新项目。
<div class="commentContainer" >
<div class="comment">
<div class="commentText">Any comment1 ... </div>
</div>
<div class="comment">
<div class="commentText">Any comment2 ... </div>
</div>
....................................
<div class="comment">
<div class="sendPanel">
<input type="submit" value="Post" />
</div>
</div>
</div>
和发布请求的结果:
success: function (result) {
if (result.success) {
$('.commentContainer').append('<div class="comment"><div class="commentText">' + result.text + '</div></div>');
}
}
我想始终保持提交按钮。我怎么能这样做?
答案 0 :(得分:4)
试试这个
$('<div class="comment"><div class="commentText">' + result.text + '</div></div>')
.insertBefore('commentContainer .comment:last-child');
甚至更好
$('<div>', {'class': 'comment'}).append(
$('<div>', {'class': 'commentText', text: result.text})
).insertBefore('.commentContainer .comment:last-child');
这个性能更好
Demo
答案 1 :(得分:2)
您可以使用:last伪选择器:
试试这个:
success: function (result)
{
if (result.success)
{
$('.commentContainer').find('div:last').before('<div class="comment"><div class="commentText">' + result.text + '</div></div>');
}
}
答案 2 :(得分:1)
试试这个:
success: function (result)
{
if (result.success)
{
$('<div class="comment"><div class="commentText">' + result.text + '</div></div>').insertBefore('.commentContainer .comment:last');
}
}