Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблема с очерёдностью (https://javascript.ru/forum/misc/34246-problema-s-ocherjodnostyu.html)

Nya-Portal 26.12.2012 11:49

Проблема с очерёдностью
 
n = 0;
$('.animeSeries').each(function(){
x = $(this).attr('href');
$.ajax({
	url:x,
	type:'get',
	success:function(html){
		$(function(){
		y = $('#catAnime', html).html();
		$('.catAnime').eq(n).html(y);
                n++;
		});
	}
});
});

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

Hoshinokoe 26.12.2012 12:27

Nya-Portal,

1) Для начала уберите ненужную обертку в success колбэке:
$(function(){ ... });
2) Затем уберите n, т.к. нет из-за этого у вас 100% ошибка. Используйте $(this) для поиска необходимого элемента.

Привидите фрагмент html-разметки, чтобы стало ясно, куда вы аттачите полученный html.
$('.animeSeries').each(function(){
var x = $(this).attr('href');
var element = $(this);
$.ajax({
	url:x,
	type:'get',
	success:function(html){
		y = $('#catAnime', html).html();
		//$('.catAnime').eq(n).html(y); // вместо этого используйте element, чтобы найти необходимую ноду
		}
});
});

Nya-Portal 26.12.2012 14:01

Теперь беда другая) Не могу вставить именно по порядку в список елементов)

Nya-Portal 26.12.2012 14:02

Не получается заменить
$('.catAnime').eq(n).html(y);

Nya-Portal 26.12.2012 14:06

<div class="container-block-1">
 <div class="container-block-anime-big-img-1"></div>
 <a href="#" style="font-size:13px;" class="animeSeries"></a>
 <div class="catAnime"></div>
 </div>

Струкутра вот такая вида материалов. Ссылка получается из <a href="#" style="font-size:13px;" class="animeSeries"></a>. Полученные данные с помощью аякса нужно вставить сюда <div class="catAnime"></div>

Nya-Portal 26.12.2012 14:10

$('.animeSeries').each(function(){
	entryLinkAnime = $(this).attr('href');
	linkAnime = $(this).parent(); //как дальше получить <div class="catAnime"></div>  именно этого елемента
	$.ajax({
		url:entryLinkAnime,
		type:'get',
		success:function(html){
			bodyCatAnime = $('#catAnime', html).html();
			linkAnime.html(bodyCatAnime);
		}
	});
});

Hoshinokoe 26.12.2012 14:38

Nya-Portal,

Вот так, используя find:
$('.animeSeries').each(function(){
	entryLinkAnime = $(this).attr('href');
	linkAnime = $(this).parent().find('.catAnime'); // с помощью find можно получить <div class="catAnime"></div>  именно этого елемента
	$.ajax({
		url:entryLinkAnime,
		type:'get',
		success:function(html){
			bodyCatAnime = $('#catAnime', html).html();
			linkAnime.html(bodyCatAnime);
		}
	});
});

Nya-Portal 26.12.2012 14:40

Всё спасибо


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