Javascript 替换内部div时jQuery animate出现问题

Javascript 替换内部div时jQuery animate出现问题,javascript,jquery,jquery-animate,Javascript,Jquery,Jquery Animate,页面部分为: <div id="cartslide"> <div id="swrapper"> content goes here </div> </div> 到目前为止,这是完美的。当我替换文件的内容时,问题就出现了 “swrapper”部分,包括: $.ajax({ type: "POST", url: "cart/slide

页面部分为:

<div id="cartslide">
    <div id="swrapper">
        content goes here
    </div>
</div>
到目前为止,这是完美的。当我替换文件的内容时,问题就出现了 “swrapper”部分,包括:

           $.ajax({
                type: "POST",
                url: "cart/slider",
                data: dataString,
                cache: false,
                success: function(html){
                     $("#swrapper").replaceWith(html);
                },
                error: function(XMLHttpRequest, textStatus, errorThrown) {
                     alert(errorThrown + ' '+ textStatus);
                }
           });
内容被替换(我可以用firebug看到),但它将不再切换 “cartslide”的内容,即随附的div

我很惊讶这个。我认为它会起作用,但我想不会,因为内部div(swrapper)的内容被替换了

这就是原因吗

有解决办法吗

谢谢

如果
#animate two
#swrapper
中,是的,这是有原因的

附加事件时,事件将附加到分区,即附加一次。如果替换它,则包含该事件的项将不再存在

解决方法是使用jQuery的live函数,这意味着即使创建了一个函数(包括替换),它也可以工作:

$(document).ready(function () {

$('#animate-both').live( 'click', function () {
   $('#cartslide').animate({
       opacity: 'toggle',
       height: 'toggle'
    });
  });
});

从该请求返回的HTML是什么,例如,之后是什么样子?
$(document).ready(function () {

$('#animate-both').live( 'click', function () {
   $('#cartslide').animate({
       opacity: 'toggle',
       height: 'toggle'
    });
  });
});