我在一个页面上有多个评论表单,在ajax调用之后需要将评论附加到评论者div。但目前它将它添加到所有人,不知道如何只将其添加到当前div。
所以评论部分看起来像这样:
<div class="commentson">
<div class="commentsholder"> All THE COMMENTS IN HERE </div>
<form class="addcomment" action="process/addcomment.php" method="post">
<div class="commentbutton">
<input type="text" maxlength="250" name="addpostcomment" class="addpostcomment" placeholder="Add Comment... (max 60 characters)" />
<input type="submit" id="addcommentbutton" class="addcommentbutton" value="Post" disabled/>
</div>
<span class="countdownCommentLength"></span>
</form>
</div>
jQuery追加:
$( ".commentsholder" ).append("New Comment");
注释div中还有其他形式等,但我需要做的只是将注释附加到当前正在使用的注释div中的注释持有者。
答案 0 :(得分:1)
如果this
上下文是addcommentbutton
$(this).closest('form').prev().append($(this).siblings('.addpostcomment').val());
答案 1 :(得分:1)
this
上下文取决于您尝试执行此操作的位置。如果你在ajax调用(after an ajax call need to append the comment
)中这样做,你可以做这样的事情。
$('.addcommentbutton').click(function(){
var $this = $(this); //cache it here
//your ajax call
$.ajax({
....
success: function(){
$this.closest('.addcomment').prev().append(newComment);
//or
//$this.closest('.commentson').find('.commentsholder').append(...);
}
});
});
答案 2 :(得分:0)
您所要做的就是在jQuery选择器中添加父级和子级:
$( ".commentson .commentsholder" ).append("New Comment");
但如果您有多个.commentsholder,那么您可以使用:
$(this).parent(".commentsholder ").append("New Comment");
$(这)是当前点击的“按钮”