Показать сообщение отдельно
  #1 (permalink)  
Старый 01.08.2014, 22:15
Новичок на форуме
Отправить личное сообщение для andreloster Посмотреть профиль Найти все сообщения от andreloster
 
Регистрация: 03.09.2013
Сообщений: 5

JQuery .load() в цикле For работает не совсем логично...
Приветствую всех.

Пытаюсь выполнить следующий код, но он работает ни так, как мне нужно:

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 должно находиться).
Ответить с цитированием