按时间顺序追加新的div [jQuery]

时间:2014-01-17 05:41:14

标签: javascript jquery html json

$("body").delegate(".u-post-button", "click", function(){ 
      var btn = $(this);
      var currentPost = btn.parents('.content-event');
      var content = btn.siblings('textarea[name="comment-post-content"]').val();
      if (content)
      {
      var event_id = currentPost.find('.event-id').val();
      var url= '/post-comments/'+event_id +'/';
                content: content
               }
      $.post(url , data, function(data){
        var obj = $.parseJSON(data);
        var lang = '';
        $.each(obj, function() {
          lang += this['html'];
        });
        $(currentPost.find('.latest-comment')).append(lang); 
        $(currentPost.find('.comment-post-content')).val("");  
      });
      } 
      else
      {
        $(currentPost.find('.comment-post-content')).attr("rows", "1");
      } 
      return false;
    }); 

这是发布评论然后将返回的json放在“.latest-comment”div之后的脚本。它工作正常,但评论顺序从最旧到最新,因为我们下降。我反过来说。我怎样才能做到这一点?我尝试使用prependTo代替追加,但是评论不会显示。这是html,

<div class="content-event">
      <form method="post">
        {% csrf_token %}
        <textarea class="comment-post-content" name="comment-post-content" cols="55" rows="1" placeholder="Add a comment..."></textarea>
        <input type="hidden" class="event-id" value="{{ event.id }}">
        <input type="submit" class="u-post-button" value="Post comment" />
      </form>

    </div>
<div class="latest-comment"></div>

1 个答案:

答案 0 :(得分:1)

您已经提到过您已尝试prependTo(),但您是否尝试过prepend()?它们的工作方式不同,这就是为什么你的评论可能会消失。

jQuery文档: http://api.jquery.com/prepend/