javascript - 在 jQuery 中的最后一个元素之前追加元素不结束

标签 javascript jquery ajax post append

我正在尝试使用 AJAX 帖子发表评论。但是最后一个 comment 元素包含提交按钮。 append 后,新项目出现在提交按钮之后。

<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');

这个对性能更好

Demo

jQuery last-child

jQuery insertBefore

关于javascript - 在 jQuery 中的最后一个元素之前追加元素不结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17642002/

相关文章:

javascript - jQuery:在 .keypress() 处的另一个字段中显示一个字段的值不显示

javascript - 在 Jquery 中从外部文件加载数据

ajax - 如何在 View 页面上显示服务器端验证错误

javascript - Google Chrome - GET ajax 请求失败

javascript - jQuery Ajax JSON 不返回任何响应

javascript - Webpack - 将 Node 模块放入 Bundle 并加载到 html 文件中

javascript - 具有动画间隔的图像

jquery - 多个div平滑切换 : blend effect

jquery 隐藏/覆盖视频播放器

javascript - jQuery - 隐藏元素的最佳方式? (以防止元素在实际隐藏之前闪烁)