Bonjour,

Je travaillais sur un petit script de tri sur des lis ...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<script type='text/javascript'> 
$(function(){
tab=$('#alphaIndex li').get().sort(function(a,b){ return (a.innerHTML.replace(/^\s*/,'').toLowerCase()>= b.innerHTML.replace(/^\s*/,'').toLowerCase())?1:-1;})
var i=-1
while(tab[++i]){
$('#alphaIndex').append(tab[i])
}
 })
 < /script>
</head>
<body>
<ul id="alphaIndex">
	<li>xavier	</li>
	<li>Alexia</li>
	<li>bernard</li>
   <li>sophie</li>
   <li>Alexandre</li>
   <li>Franck</li>
   <li>Zoé</li>  
   <li>Philippe</li>   
   <li> Thierry</li>   
   <li>Paul</li>
   <li>   Francoise</li>
   <li> Pauline</li>
   <li>Jacques</li>
   <li>Pierre</li>
   <li>Michel</li>
   <li>michèle</li>   
   <li>micheline</li>   
   <li>Hector</li>
   <li>Ernest</li>
	<li>Philibert</li>
	<li>hubert</li>
	<li>david</li>
	<li>john</li>
	<li>mustapha</li>
	<li>mariette</li>
	<li>arielle</li>
	<li> thomas</li>
	<li>céline</li>
	<li>stuart</li>
	<li>fernand</li>
	<li>patrick</li>
	<li>tom</li>
	<li> suzanne</li>
	<li> hélène</li>
	<li> séverine</li>
	<li>roland</li>
	<li>walter</li>
	<li>sam</li>
	<li>franz</li>
	<li>victor</li>
	<li>maire-rose</li>
</ul>
</body>
</html>
Pour faire le tri sur un tableau, je passe la collection en array au moyen de get(), ce qui me permet ensuite d'appliquer sur l'array un sort assorti d'une fonction personnelle.

Pour réaffecter les lis dans le ul, je suis obligé de faire une boucle ou existe-t-il une fonction inverse de get() ou une autre subtilité ?

Je