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

Jey*_*mov 5 javascript ajax jquery post append

我试图用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>
Run Code Online (Sandbox Code Playgroud)

和发布请求的结果:

success: function (result)  {
    if (result.success) {
         $('.commentContainer').append('<div class="comment"><div class="commentText">' + result.text + '</div></div>');
    }   
} 
Run Code Online (Sandbox Code Playgroud)

我想始终保持提交按钮.我怎样才能做到这一点?

iCo*_*nor 4

尝试这个

  $('<div class="comment"><div class="commentText">' + result.text + '</div></div>')
   .insertBefore('commentContainer .comment:last-child'); 
Run Code Online (Sandbox Code Playgroud)

或者甚至更好

$('<div>', {'class': 'comment'}).append(
    $('<div>', {'class': 'commentText', text: result.text})
).insertBefore('.commentContainer .comment:last-child');
Run Code Online (Sandbox Code Playgroud)

这个对于性能来说更好

演示

jQuery 最后一个孩子

jQuery 插入之前