Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jqueryajax调用以更新新div_Jquery_Ajax_Html - Fatal编程技术网

jqueryajax调用以更新新div

jqueryajax调用以更新新div,jquery,ajax,html,Jquery,Ajax,Html,我有一个comments系统,当提交时,它会用提交的消息更新div元素 HTML <div class="comPostSpan" style="display:none;"></div> <form method="post" action="javascript:;" class="comStatusForm"> <div class="comStatusForm"> <inp

我有一个comments系统,当提交时,它会用提交的消息更新div元素

HTML

<div class="comPostSpan" style="display:none;"></div>
<form method="post" action="javascript:;" class="comStatusForm">                   
    <div class="comStatusForm">
        <input type="text" name="comInput" class="comInput" id="comInput<?php echo $statRow['statID']; ?>" placeholder="Comment...">
        <input type="submit" name="comStat" value="SEND" class="comStat" id="<?php echo $statRow['statID']; ?>">
    </div>
</form>
但作为一名JS noob,这并不奏效

如何修改此代码,以便在不需要刷新页面的情况下,为每篇文章创建一个新的.comPostSpan div

始终感谢社区的帮助:)

最亲切的问候。

使用
.append(data)
代替
.html(data)

对于延迟:

.append(data).delay(3000)
使用
.append(data)
而不是
.html(data)

对于延迟:

.append(data).delay(3000)
用户

$('.comPostSpan').append(data) 
添加消息。当你使用

$('.comPostSpan').html(data), 
它将用新文本覆盖现有文本。

用户

$('.comPostSpan').append(data) 
添加消息。当你使用

$('.comPostSpan').html(data), 

它会用新文本覆盖现有文本。

您可以按如下方式执行。首先更换内容,然后更换fadeIn

 $('.comPostSpan').html(data);
 $('.comPostSpan').fadeIn(3000);

你可以像下面这样做。首先更换内容,然后更换fadeIn

 $('.comPostSpan').html(data);
 $('.comPostSpan').fadeIn(3000);

1st:正如我在评论中所说

使用
.append()
而不是
.html()

2nd:对于fadeIn最后一条消息,您可以使用
.promise().done()
确保您的数据已经添加,然后
隐藏()
fadeIn()
最后一条新消息

$('.comPostSpan').append(data).promise().done(function(){
    $('.newmessage:last').hide().fadeIn(1000);
});

第一:正如我在评论中所说的那样

使用
.append()
而不是
.html()

2nd:对于fadeIn最后一条消息,您可以使用
.promise().done()
确保您的数据已经添加,然后
隐藏()
fadeIn()
最后一条新消息

$('.comPostSpan').append(data).promise().done(function(){
    $('.newmessage:last').hide().fadeIn(1000);
});


使用.append()代替.html()使用.append()代替.html()OMG!真不敢相信事情竟那么简单!!非常感谢。我现在如何淡入第二个帖子,因为它只是立即出现?天哪!真不敢相信事情竟那么简单!!非常感谢。我现在如何淡入第二个帖子,因为它只是立即出现?仅供参考,您不能淡入可见元素。你需要先把它藏起来。可能OP正在尝试淡入新添加的数据。它对第一个隐藏。嗯。。。!根据刚才看到的代码更正。但仍然可能是OP试图淡入新添加的数据完全是我的猜测,因为我觉得OP对你的答案没有任何兴趣。对不起,伙计们,是的,我想淡入第二个帖子数据。仅供参考,你不能淡入可见元素。你需要先把它藏起来。可能OP正在尝试淡入新添加的数据。它对第一个隐藏。嗯。。。!根据刚才看到的代码更正。但仍然可能是OP试图淡入新添加的数据完全是我的猜测,因为我觉得OP对您的答案不感兴趣。对不起,伙计们,是的,我想淡入第二个帖子数据。我只是尝试实现该方法,但测试时根本没有显示任何消息。@NOJ75您应该检查演示。。您定义的新消息类将出现hide()和fadeIn()。。在我的示例中,我假设class.newmessage您应该使用消息outer div classah来更改它,好的,所以我已经更改了out div类,现在它可以工作了。然而,有一个问题。例如:如果提交了3篇文章而没有刷新页面,那么所有的文章都会淡入淡出,而不是最新的一篇。不知道我做错了什么。这就是DIV的设置方式。@NOJ75这是什么?返回的数据是否与此代码一致??刚刚尝试实现该方法,但测试时没有显示任何消息。@NOJ75您应该检查演示。。您定义的新消息类将出现hide()和fadeIn()。。在我的示例中,我假设class.newmessage您应该使用消息outer div classah来更改它,好的,所以我已经更改了out div类,现在它可以工作了。然而,有一个问题。例如:如果提交了3篇文章而没有刷新页面,那么所有的文章都会淡入淡出,而不是最新的一篇。不知道我做错了什么。这就是DIV的设置方式。@NOJ75这是什么?返回的数据是否为此代码??