Приветствую всех.
Пытаюсь выполнить следующий код, но он работает ни так, как мне нужно:
if(условие){
$('body').append("<div id='loaddiv'><div>");
for(var i=1; i<=100; i++){
var dl = 0;
$('#loaddiv').load('/script/?p='+i);
dl = $('#loaddiv .standart-view tr').length;
alert(dl);
}
}
Таким образом, я должен получить количество tr-элементов, родителем которого является элемент с классом standart-view, а его родитель - div блок c id = load214235, для каждой страницы, НО постоянно выводятся нули в алерте :( Я пытался модернизировать код, добавив весь код в callback функцию лоада, чтобы все загрузилось, а потом выполнится остальная часть кода, но все та же не работающая хрень получается (он отказывается видеть dl)...
if(условие){
$('body').append("<div id='loaddiv'><div>");
for(var i=1; i<=100; i++){
var dl = 0;
$('#loaddiv').load('/folder/?p='+i, function(){
dl = $('#loaddiv .standart-view tr').length;
alert(dl);
});
}
}
+у меня после load еще должно идти условие с break; но firebug на него так же ругается, что break не знает, что закрывать... Как мне выйти из ситуации, не подскажете? Чувствую, что что-то намутил с видимостью переменных и данные не успевают подгрузиться с другой страницы, а скрипт летит впереди поровоза. Jquery подключен, весь остальной код рабочий, включая функции из jquery, иерархия элементов на другой странице соблюдена (кол-во tr должно находиться).
убедитесь в консоли, что в ответе на аякс-запрос вы получаете нечто содержащее .standart-view tr.
вы 100 раз делаете лоад в один и тот же див. это значит что в итоге див будет содержать последний загруженный ответ. не 100 ответов. не сотый ответ. а последний загруженный. вы точно этого хотели?
– nörbörnën Aug 02 '14 at 00:16