Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Доступ к элементам после подгрузки через ajax (https://javascript.ru/forum/jquery/36195-dostup-k-ehlementam-posle-podgruzki-cherez-ajax.html)

spo 07.03.2013 00:44

Доступ к элементам после подгрузки через ajax
 
Здравствуйте, все.
Моя задача кажется на первый взгляд легкой и очевидной - это использование метода live(). Но данный способ мне не помог.

Я использую плагин fancybox. При клике на странице на нужную ссылку
<a href="page.html" title="" class="fancybox-page fancybox.iframe">Page</a>
появляется окно с содержимым page.html и ссылка
<a class="more" href="ajax_content.html" rel="append-content">More</a>
через которую я загружаю содержимое из ajax_content.html. Все делаю по примеру fancybox, никакой отсебятины.
Подгружаю аяксом так:
$("a[rel='append-content']").click(function(e){
	e.preventDefault();
	var $this=$(this),
	url=$this.attr("href");
	$this.addClass("loading");
	$.get(url,function(data){
		$this.removeClass("loading");
		$("#scroll .mCSB_container").append(data);
		$("#scroll").mCustomScrollbar("update");
		$("#scroll").mCustomScrollbar("scrollTo","div.row:last",{scrollInertia:2500,scrollEasing:Power3.easeInOut});
	});
});

То есть имею (page.html) несколько:
<div class="row"></div>
<div class="row"></div>
<div class="row"></div>

И подгружаю аяксом (ajax_content.html) еще несколько <div class="row"></div>
Задача заключается в том, чтобы последний <div class="row"></div> всегда имел класс last.
Успешно удаются все махинации с объектами которые были изначально, но вот с теми которые были подгружены не удается справиться.

Прошу подсказать, что я делаю не так.

Deff 07.03.2013 00:48

Нун глянуть рабочую страницу или минимальный HTML и полный скрипт, хотя если длинный, нет особого желания, праздник на носу

imsha 07.03.2013 04:29

После 8 строки из твоего примера вставь
$("#scroll .mCSB_container .row").removeClass('last').end().last().addClass(' last);

spo 07.03.2013 15:40

Цитата:

Сообщение от imsha (Сообщение 239250)
После 8 строки из твоего примера вставь
$("#scroll .mCSB_container .row").removeClass('last').end().last().addClass(' last);

Вот как раз этот способ ни к чему не приводит. А вернее выполняется часть которая убирает класс last у элементов которые были изначально.


Часовой пояс GMT +3, время: 12:50.