2009-09-29 3 views
0

Ce que vous pouvez voir sur la page suivante est une liste de noms d'utilisateurs dans un ordre aléatoire. Je veux utiliser jquery pour les trier dans cet ordre:jquery triant les éléments dom en fonction de son css ("couleur")

rouge bleu vert violet noir

http://www.arvag.net/test/sorting/

C'est ce que je l'ai fait jusqu'à présent:

<script type="text/javascript"> 
$(function() { 
    var admin  = "rgb(255, 0, 0)"; 
    var moderator = "rgb(00, 00, 255)"; 
    var text  = "rgb(00, 128, 00)"; 
    var vip   = "rgb(128, 00, 128)"; 

    var adminBuffer = []; 
    var moderatorBuffer = []; 
    var textBuffer = []; 
    var vipBuffer = []; 
    var html; 

    $("div#active_users span.name").each(function(i) { 
     color = $("a span",this).css("color"); 
     html = $(this).html(); 
     if(admin == color){ 
      adminBuffer[i] = "<span class='name'>" + html + "</span>"; 
     } 
     //$(this).clone().append("&nbsp").appendTo('#rezultat'); 
    }); 
    jQuery.each(adminBuffer, function() { 
     //alert(this); 
     $(this).appendTo("#rezultat"); 
    }); 
}); 
</script> 

I réussi à obtenir une correspondance pour le rouge, mais im simplement omis de l'ajouter à un autre élément avec un ID de "rezultat".

Toute idée ou suggestion est la bienvenue!

+3

Semble un peu à l'envers. J'aurais les utilisateurs dans des classes séparées (admin, modérateur, etc.) par type et ensuite ordonné par les classes. (problème similaire). Ensuite, appliquez le bon CSS pour obtenir les bonnes couleurs. –

+0

Hmm bonne idée! Je vais essayer ça! – Gavrisimo

Répondre

1

Eh bien j'ajouté classe (admin, modérateur, etc.) à mes éléments et maintenant il est facile ...;) Merci donc pour clintp idée ... :)

0

TinySort est un plugin pour trier les nœuds enfants par (sous) contenu ou attributs. Très utile pour commander des listes ou des tables non ordonnées, mais fonctionne sur n'importe quel type de nœud.

Questions connexes