Я прибыл сюда в поисках аналогичного решения. Из чтения это невозможно с .load, вам нужно использовать запрос AJAX, как указывает комментарий вопроса.
В моем случае мне нужно загрузить html-файл, и я добавил переход для изменения содержимого. Старый контент был показан перед новым после перехода, даже если я показывал содержимое внутри обратного вызова загрузки.
var main = $("#main");
main.load("about.html", displaySection);
function displaySection() {
main.show('blind');
}
Мой обходной путь в том, чтобы запустить переход, который показывает загруженного содержимого внутри функции тайм-аута с 200 для параметра задержки.
var main = $("#main");
main.load("about.html", displaySection);
function displaySection() {
setTimeout(function() {
main.show('blind');
}, 200);
}
Проблема может быть, если соединение происходит настолько медленно, что новая страница занимает более 200 мс для загрузки, но в данном случае мне интересно, обратный вызов будет запущен позже. Я не понимаю, почему не работает без тайм-аута, что я чувствую себя довольно уродливо, но он решил мою проблему ... на всякий случай никто не подумал об этой возможности.
У этого есть то, что вам нужно: http://stackoverflow.com/questions/5364166/how-to-load-page-synchronously-using-jquery – tymeJV