Javascript Jquery在多个div之后插入

Javascript Jquery在多个div之后插入,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个ajax评论系统,当表单提交时,它会在表单下方显示提交的评论。我在页面的不同位置有两个相同的表单,但只有最上面的表单被重置,并且在下面插入了注释。如何让它在所有表单实例之后插入 $(".reply").keypress(function(event){ var keycode = (event.keyCode ? event.keyCode : event.which); if(keycode == '13'){ var that = this; //enter p

我有一个ajax评论系统,当表单提交时,它会在表单下方显示提交的评论。我在页面的不同位置有两个相同的表单,但只有最上面的表单被重置,并且在下面插入了注释。如何让它在所有表单实例之后插入

$(".reply").keypress(function(event){

var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
     var that    =   this;
//enter pressed

$.ajax({
    type: 'post',
    url: '/private/poll/reply',
    data: $(this).serialize(), 
    success: function (data) {
     var parent = $(that).find('input[name=parent]').val();
     //  $("#comment_"+parent).append(data);

       $(data).insertAfter("#comment_"+parent);
        document.getElementById("form_"+parent).reset();



}
});
   }
 });

我的假设是您有两个使用相同ID的输入。ID在页面上必须是唯一的。例如,页面上不能有两次
#comment_parent

您的代码所做的是查找
#comment_parent
的第一个实例并使用它。脚本将忽略其余部分,因为不应该有多个
#comment\u parent

解决方案是什么?使用类似于
#comment\u top\u parent
#form\u top\u parent
的内容为顶部和底部表单指定唯一的ID

然后在脚本中,更新该部分以包含该更改:

   $(data).insertAfter("#comment_top"+parent);
   document.getElementById("form_top"+parent).reset();

   $(data).insertAfter("#comment_bottom"+parent);
   document.getElementById("form_bottom"+parent).reset();

我根据您的代码做了一个假设,但是您通过隐藏字段(即父字段)存储了DOM的附加层次结构?DOM是一种树状结构,您可以通过.parent()轻松完成此操作,而无需隐藏字段。附加一些HTML会很有帮助。