2014-02-20 2 views
0

У меня есть некоторые div, которые динамически загружаются и зависят от содержимого - некоторые могут загружаться быстрее, некоторые могут загружаться позже, но для меня важно установить их в определенном порядке. Так что вы могли бы увидеть, что я имею в виду:Установить элемент как второй по порядку

<div id=1>text</div> 
<div id=2>text2</div> 
<div id=3>text3</div> 

и если есть гораздо больше текста, они появляются, например, в следующем порядке:

<div id=1>text</div> 
<div id=3>text3</div> 
<div id=2>text2</div> 

Как не установить надлежащий порядок, независимо от того, который ДИВ нагрузки в первую очередь?

+3

Создайте (пусто) DIVS первого, а затем загрузить содержимое в соответствующих делах. Без какого-либо кода, чтобы продолжить, это самая большая помощь, которую я могу вам дать. Кроме того, вы можете добавить новый div в правильное положение в DOM вместо добавления его в конец. – Tibos

+0

Есть несколько подходов, которые вы можете предпринять. 1. Вы создаете обещание и ждете, пока обещание будет разрешено (это означает, что нужно дождаться загрузки всех разделов), а затем установите порядок. 2. Когда и когда создается div, вы воссоздаете заказ. Надеюсь, что помогает –

+0

Мне нравится ответ Тибоса. Сначала создайте элементы, а затем добавьте контент в каждый div. –

ответ

0

Вы всегда можете сортировать их:

var sorted = $('div').get().sort(function(a, b){ 
     return a.id > b.id; 
    }), 
    $sorted = $(sorted).clone(); 

$('body').append($sorted); // do something 

http://jsfiddle.net/4aGyD/6/

+0

Эти идентификаторы были просто образцовыми .. они не «1», «2» и «3». – mmmm

+0

@Mati Затем создайте контейнеры и загрузите каждый div в соответствующий контейнер – Johan

Смежные вопросы