[英]Append element not to end, before last element in jQuery
我試圖用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>');
}
}
我想始終保持提交按鈕。 我怎樣才能做到這一點?
試試這個
$('<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');
這個性能更好
演示
您可以使用:last偽選擇器:
試試這個:
success: function (result)
{
if (result.success)
{
$('.commentContainer').find('div:last').before('<div class="comment"><div class="commentText">' + result.text + '</div></div>');
}
}
試試這個 :
success: function (result)
{
if (result.success)
{
$('<div class="comment"><div class="commentText">' + result.text + '</div></div>').insertBefore('.commentContainer .comment:last');
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.