Reorganizando / ordenando DIVs sem reinserção no DOM

Eu tenho vários DIVs com conteúdo que possuem um atributo de peso de dados que é atualizado regularmente via AJAX.

Eu os classifico no loop onde faço uma iteração sobre os novos valores vindos da solicitação do ajax.

Como o peso dos dados pode ser atualizado a qualquer momento para qualquer valor, o pedido pode mudar totalmente de atualização para atualização.

Minha lógica de classificação parece falha (para dizer o mínimo;)) porque só compara cada elemento com o próximo via.next() então você tem que clicar em "Classificar por peso de dados" max. 4 vezes para 4 elementos até que sejam classificados (veja violino abaixo)

É importante saber que os DIVs a serem classificados contêm recursos externos, como imagens, vídeos, etc., por isso é importante que eles sejam movidos e não recriados, porque acho que, quando reinseridos no DOM, os recursos contidos são recarregados o que é inaceitável para o meu caso de uso.

Como é difícil descrever e talvez entender, aqui está meu violino:

http://jsfiddle.net/PdGTK/5/

Atualizar

Enquanto o problema principal é resolvido, ainda há o problema de que, quando f.e. Vídeos do YouTube são incluídos, eles são recarregados toda vez que os DIVs são reordenados, mesmo se o vídeo não mudar de lugar no DOM. Que a) parece estranho eb) interrompe o video-play. Lendo mais sobre o tópico, mover iframes no DOM sempre parece fazê-los recarregar seu conteúdo - o quão estúpido é isso?

O violino é atualizado com um peso de dados fixo de 1 para o vídeo YT, para que ele permaneça sempre no topo.

http://jsfiddle.net/PdGTK/10/

Ideias muito bem vindas !!

questionAnswers(3)

yourAnswerToTheQuestion