Я видел несколько сообщений ( добавить предположительно немедленно ) с противоречивыми принятыми ответами по этому поводу. Мы используем JQuery 1.4 ( http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js ) и append () кажется быть асинхронным, например:
Отредактировано для отображения кода в контексте обратного вызова AJAX
...
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");
}
Выполняет и создает страницу, как ожидалось, но целевой запрос ничего не дает во время выполнения. Выполнение того же кода в консоли JS возвращает элементы, как и ожидалось.
Если это ожидаемое поведение в JQuery, как лучше дождаться завершения добавления?