5

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

最後に送信ボタンを常に保持したい。これどうやってするの?

4

3 に答える 3

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

こっちの方が性能いい

デモ

jQueryの最後の子

jQuery挿入前

于 2013-07-14T17:54:00.483 に答える
1

これを試して :

 success: function (result) 
    {
        if (result.success) 
        {
             $('<div class="comment"><div class="commentText">' + result.text + '</div></div>').insertBefore('.commentContainer .comment:last');
        }   
    }
于 2013-07-14T17:53:50.890 に答える