2013-07-14 123 views
5

我試圖用AJAX帖子發表評論。但最後comment元素包含提交按鈕。添加後,提交按鈕後出現新項目。追加元素不結束,在jQuery中的最後一個元素之前

<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

jQuery last-child

jQuery insertBefore

1

試試這個:

success: function (result) 
    { 
     if (result.success) 
     { 
      $('<div class="comment"><div class="commentText">' + result.text + '</div></div>').insertBefore('.commentContainer .comment:last'); 
     } 
    } 
2

您可以使用:最後僞選擇:
試試這個:

success: function (result)  
    { 
        if (result.success)  
        { 
            $('.commentContainer').find('div:last').before('<div class="comment"><div class="commentText">' + result.text + '</div></div>'); 
        }    
    } 
相關問題