Jquery:在ajax加载操作后将数据附加到div

Mal*_*ala 2 javascript ajax jquery append

我的设置很像这样:

$('.container a').click(function(event) {
    event.preventDefault();
    $('#contents').remove();
    $(this).parent().append("<div id=\"contents\"></div>");
    $('#contents').html('<img src="/images/loading.gif" />')
                  .load("stuff.html")
                  .append("<div id=\"closebutton\"></div>");
});
Run Code Online (Sandbox Code Playgroud)

但是,'append'部分似乎在加载完成之前运行,因此closebutton div被stuff.html的内容覆盖.在执行最终追加之前,如何让它等到ajax操作完成?

谢谢:)
Mala

Anw*_*dra 8

放入append内部回调函数将起作用.

$('.container a').click(function(event) {
    event.preventDefault();
    $('#contents').remove();
    $(this).parent().append("<div id=\"contents\"></div>");
    $('#contents').html('<img src="/images/loading.gif" />')
               .load('stuff.html',{},function(){
                  $(this).append('<div id=\"closebutton\"></div>");
               });
});
Run Code Online (Sandbox Code Playgroud)