我的jQuery有问题。。。物品正在消失

我的jQuery有问题。。。物品正在消失,jquery,asp.net-mvc,asp.net-ajax,Jquery,Asp.net Mvc,Asp.net Ajax,我有以下代码: <div id="comments"> <h2> Comments</h2> <div id="comment"> </div> <% foreach (var comment in this.Model.Topic.TopicComments.OrderBy(tc => tc.CreatedDate).Reverse()) { %>

我有以下代码:

<div id="comments">
    <h2>
        Comments</h2>
    <div id="comment">
    </div>
    <% foreach (var comment in this.Model.Topic.TopicComments.OrderBy(tc => tc.CreatedDate).Reverse())
       { %>
    <% this.Html.RenderPartial("TopicComment", comment); %>
    <% } %>
    <fieldset>
        <% using (Ajax.BeginForm("AddComment", "Topic", new { id = this.Model.Topic.TopicId },
                new AjaxOptions { UpdateTargetId = "comment", OnSuccess = "animateTopicComment" }))
           { %>
        <%= Html.TextArea("Body", string.Empty, new { @class = "wmd-ignore" })%>
        <input type="submit" value="Add Comment" />
        <% } %>
    </fieldset>
</div>

<script type="text/javascript">

    function animateTopicComment() {
        $("#comment").fadeOut(0, function() {
            $('#comment').fadeIn("slow");
        });
        $("#Body").val("");
    }

</script>

评论
tc.CreatedDate.Reverse())
{ %>
函数animateTopicComment(){
$(“#注释”).fadeOut(0,function(){
$('注释').fadeIn(“慢”);
});
$(“#Body”).val(“”);
}
我想做的是,每当用户添加评论时,我都希望该评论淡入。这几乎可以工作……除了以下问题:


如果我继续添加注释,注释DIV中的任何内容都将被覆盖。如果我不使用任何jQuery动画,新注释将正确显示。

这是否与您首先淡出所有id为comment的元素有关?您是否可以尝试删除淡出并仅使用淡出

如果做不到这一点,你可以给新评论一个唯一的id,然后只淡入其中

另外,你的部分意见是什么?你能提供代码吗

编辑

我只是想了想。我已经实现了和你一样的事情,我做的方式是做一个jQuery回发,通过RenderPartial返回html。然后我简单地将html添加到包含注释的div的末尾,并将其淡入


这在你的情况下合适吗?

这会起作用……愚蠢的问题……你会如何附加它?这不是一个愚蠢的问题。你会使用append关键字。所以让我们假设你有一个div,它有一个类名“MyContent”。你所需要做的就是获取jQuery帖子返回的html,然后说$('.MyContent').append(html);它的文档在这里,因此我不想在Ajax调用中使用UpdateTargetId,而是在一个单独的函数中完成这一切?不确定您的意思。我使用的过程是1)允许用户在框中输入注释。2)单击一个按钮,执行jQuery回调控制器。3)获取新注释并将其添加到数据库。4)返回RenderPartial*(“partialName”,newComment)5)将该注释附加到我的注释列表的末尾。