title: Does Jquery append() behave asynchronously?
body: <p>I've seen a number of posts (<a href="https://stackoverflow.com/questions/1539841/wait-untill-previous-append-is-complete-jquery">append supposedly immediate</a>) with conflicting accepted answers on this.  We're using JQuery <strong>1.4</strong> (<a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js" rel="noreferrer">http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js</a>) and append() seems to be asynchronous, such that:</p>
  
  <p><strong><em>Edited to show code in context of AJAX callback</em></strong></p>
  
  <pre><code> ...
   var message = $.ajax({
     type: "GET",
     url: "/getVolumes/" +  _Id,
     async: false 
   }).responseText;
   if (parseInt(message) != 0){
     var $results = $(message);
     $MAIN_DIV.append($results);
     retrieveTargets();
   }
  ...    
  function retrieveTargets(){
    var $targets = $(".resultTargets");
  }
  </code></pre>
  
  <p>Executes and creates the page as expected, yet the targets query yields nothing at runtime. Running the same code in the JS console retrieves the elements as expected.</p>
  
  <p>If this is the expected behavior in JQuery what's the proper way to wait until append is finished?</p>