2010-09-15 7 views
0

Salut donc à succès sur mon appel ajax, il prepends la réponse:jQuery: succès, préfixer() UNE FOIS?

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

Maintenant, si vous utilisez le formulaire qui exécute l'appel ajax plus d'une fois, la première fois est préfixé supprimer ne marche pas, mais il suffit d'ajouter le nouveau msg ajouté à côté de celui-ci ..

Je veux fadeout l'ancien s'il existe et fadein le nouveau. C'est possible?

donc je ne il se présente comme suit:

When i pressed the submit button once: 

Comment1 

when i pressed twice: 

Comment1Comment1 

Répondre

3

Bien sûr, il suffit de ne précédez pas le contenu. Changez un sous-élément à la place.

Donc, si votre DOM était ...

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

Ensuite, votre script serait ...

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'); 
} 
0

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