Спасибо, на самом деле я уже пытался обойти $response
без удачи. Я попробовал это снова, а также попробовал ваше другое предложение сделать $response
глобальным. Не повезло.
Самое странное, что $response
доступно в loadContent()
. Просто кажется, что как только селектор найден, его уже нельзя «использовать»? Например, после загрузки страницы происходит следующее ...
if (nav == 'teaser')
{
$('#content').html($response.find('.teaser'));
}
Но затем нажатие на одно из изображений тизера инициирует событие ...
$('div.teaser_img').live("click", function() {
var nav = $(this).attr("id");
$('#content').fadeOut(400, function() {
showContent(nav, $response);
});
Который затем запускает условное внутри loadContent()
...
if (nav == projects[i])
{
var tag = '#' + nav;
$('#content').html($response.find('div.teaser' + tag));
$('#content').append($response.find('div.concept' + tag));
break;
}
Так как div.teaser
уже был найден при загрузке страницы, #content
записывается только с div.concept
. Любой из других селекторов также будет работать, если он еще не использовался.