jQuery:成功,prepend()ONCE?

时间:2010-09-15 19:58:29

标签: jquery

大家好,在我的ajax电话会议上取得成功,它会在回应之前做出决定:

 $("#nowCurrentComment" + bID).prepend(msg); 

现在,如果您使用多次执行ajax调用的表单,那么第一次预先添加的表单不会删除,但它只是添加新的前置msg ...

我希望淡出旧的如果存在并淡化新的。有可能吗?

所以我不这样:

When i pressed the submit button once:

Comment1

when i pressed twice:

Comment1Comment1

2 个答案:

答案 0 :(得分:3)

当然,只是不要预先添加内容。改为切换子元素。

所以如果你的DOM是......

<div id="nowCurrentComment123">
  <span class="message"></span>
</div>

那你的剧本就是......

var $msg = $("#nowCurrentComment123").find('.message');
// if it already has a message, fade it out, add the text, then fade it back in
if ( $msg.text().length ) {
  $msg.fadeOut('fast', function(){
    $msg.text( msg ).fadeIn('fast');
  });
} else {
  // otherwise just hide it, add the text, and then fade it in
  $msg.hide().text( msg ).fadeIn('fast');
}

答案 1 :(得分:0)

$("#nowCurrentComment" + bID).replaceWith(msg);