Trier une liste html avec javascript
J'ai un ensemble de trois éléments de la liste que je voudrais afficher automatiquement de haut en bas sur le chargement de la page. Idéalement à l'aide de jquery ou javascript.
<ul class="list">
<li id="alpha">32</li>
<li id="beta">170</li>
<li id="delta">28</li>
</ul>
Chaque élément de la liste a besoin de sa propre ID, car ils ont chacun des images d'arrière-plan. Les numéros des nœuds de texte de sorte que l'utilisateur peut le modifier.
voir ici stackoverflow.com/q/1134976/771300
J'ai essayé à l'origine de la construire à partir de zéro avec un tableau
J'ai essayé à l'origine de la construire à partir de zéro avec un tableau
function listSort(a, B) { return a - b; } var n = ["10", "775", "40", "1125","1", "8"]; document.write(n.sort(listSort));
je suis comme loin de réorganiser la liste dans l'ordre, mais ne pourrais pas le comprendre, de travailler avec différentes liste des Id.OriginalL'auteur danssker | 2012-01-12
Vous devez vous connecter pour publier un commentaire.
Ce sera probablement le moyen le plus rapide de le faire, car il n'utilise pas jQuery:
Appeler la fonction comme:
Vous pouvez trier les autres listes de la même façon, et si vous avez d'autres éléments sur la même page avec la liste de classe que vous devez donner à votre ul id et le pass à l'aide de ce lieu.
Exemple JSFiddle
Modifier
Puisque vous avez mentionné que vous le voulez sur pageLoad, je suis en supposant que vous voulez que cela se produise le plus tôt possible après l'ul est dans les DOM qui signifie que vous devez ajouter la fonction
sortList
à la tête de votre page et l'utiliser immédiatement après votre liste comme ceci:Remarque: cela ne fonctionne pas dans les versions de IE avant IE9 sans plus de code car
getElementsByClassName()
n'existe pas dans les anciennes versions d'IE.Pourquoi vous devez choisir le plus compliqué javascript natif version la plus simple, la version jQuery si vous êtes déjà à l'aide de jQuery? Pouvez-vous vraiment voir une différence de performance sur une opération de ce genre? Mon mantra, est à cet égard: aller avec simplicité première et seulement ajouter de la complexité si vous avez absolument besoin.
Pourquoi cloner le
UL
nœud? Vous pouvez juste réinsérez la triéesLI
nœuds à l'origineUL
nœud.Tu veux dire les versions antérieures à internet explorer 7, pas IE 9... Aussi le sortList fonctionne dans IE 6, il faut juste de l'appeler différemment, comme je l'ai dit avec l'aide d'un id.
OriginalL'auteur Paulpro
vous pouvez utiliser ce plugin jquery léger List.js cause
HTML
Javascript
OriginalL'auteur AbdullahDiaa
Vous pouvez essayer ce
Live exemple : http://jsfiddle.net/B7hdx/1
Il a été triée par ordre alphabétique, mais j'ai déjà corrigé
La plus haute à la plus basse. jsfiddle.net/B7hdx/2 FTFY
Bien... si mon site était déjà à l'aide de jquery, j'aurais utilisé cette.
OriginalL'auteur Francis
Ce code permettra de trier cette liste en supposant qu'il existe un seul
.list
élément:Vous pouvez le voir à l'œuvre ici: http://jsfiddle.net/jfriend00/FjuMB/
Pour expliquer comment cela fonctionne:
<li>
les objets enfants.<li>
enfant objets du DOM, mais préserve leurs donnéesLe résultat est qu'ils sont affichés dans l'ordre de tri.
Edit:
Cette version améliorée sera même de trier plusieurs objets de la liste à la fois:
Démo: http://jsfiddle.net/jfriend00/RsLwX/
OriginalL'auteur jfriend00
Il y a aussi ce petit plugin jQuery. Qui permettrait de faire votre tri de rien de plus que:
OriginalL'auteur Sjeiti
Quelque chose comme cela devrait vous aider:
OriginalL'auteur jabclab
Une méthode serait de le tri d'un tableau (ainsi, un objet jQuery) de la
li
éléments et remplacer le contenu (à l'aide de lahtml
méthode) de laul
avec le tableau trié d'éléments:Voici un exemple de travail.
OriginalL'auteur James Allardice
Non la version jquery (javascript natif)
Avantages: la liste est triée en place, ce qui ne veut pas détruire le LI ni supprimer tous les événements qui peuvent être associés avec eux. Il a juste mélange de choses autour de
Ajouté un id à l'UL:
et la vanille javascript (pas de jquery)
Et le violon, la preuve: https://jsfiddle.net/L27gpnh6/1/
parseInt(a.getAttribute(attr))
OriginalL'auteur bob
Vous pouvez utiliser cette méthode:
Consulter l'article ici:
http://www.onemoretake.com/2009/02/25/sorting-elements-with-jquery/
Edit: Il est très cool plugin jquery qui fait que : http://tinysort.sjeiti.com/
OriginalL'auteur T23
à l'aide de jQuery pour obtenir de l'aide:
Violon Lien
OriginalL'auteur Skyrim
Sorte jQuery collection comme d'habitude tableau, puis ajouter chaque élément de retour dans le bon ordre.
http://jsfiddle.net/zMmWj/
OriginalL'auteur dfsq