Получить общее количество предметов после использования appendTo

Мой HTML выглядит так:

<ul class="slideShow">
    <li><img src="img/slides/white_album.jpg" width="300" height="250" alt="White album"></li>
</ul>

Используя jQuery, я предварительно загружаю и добавляю больше <li> элементы в ul, вот так:

var target = $(".slideShow");
var banners = [];
function set_preload_banners() {
        $.ajax({
            type: "get",
            url: "include/get_banners.php",
            dataType: "json"
        }).done(function(data) {
            if ( !(jQuery.isEmptyObject(data)) ) {
                $.each(data, function(i, item) {
                    banners[i] = new Image();
                    banners[i].src = 'img/slides/' + item[2];
                    banners[i].onload = function() {
                        var attr = $("<li></li>").appendTo(target);

                        $(this).width(this.width).height(this.height).attr("alt", "").appendTo(attr);
                    }
                });
            }

            SlideShow();

        }).fail(function(data) {
        }).always(function(data) {
        });
}

Все идет нормально. Вот моя проблема. При вызове функции SlideShow, чтобы получить количество слайдов (чтобы использовать позже в цикле), я всегда получаю 1. Я делаю инъекцию 12 <li> предметы, но я всегда получаю 1.

function SlideShow() {
        var slides = $(".slideShow>li");
        var totalSlides = slides.length;

        alert(totalSlides);
}

Как получить правильную сумму после добавления элементов в список?

0 ответов

Другие вопросы по тегам