如何使用jQuery根据id来对div进行排序?

aba*_*aba 9 html sorting jquery

我有一组带有随机ID的div:

<div id="container">
   <div id="2"></div>
   <div id="9"></div>
   <div id="7"></div>
   <div id="1"></div>
   <div id="4"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

有没有一种快速的方法来使用jQuery根据它们的id值对它们进行排序?谢谢.

Wik*_*ser 20

我会使用tinysort插件:

http://tinysort.sjeiti.com/

在你的情况下,它将是这样的:

$("#container > div").tsort("",{attr:"id"});

  • 对于谷歌发现这一点的人,我相信上面的例子可能已经过时了.这个插件对我有用:`tinysort('#container> div',{attr:'id'})` (2认同)

LBu*_*kin 8

有插件等可以对元素进行排序.如果您计划实际重新排序DOM元素,则应该使用其中一个元素.

如果你只想要一个div的排序列表,你可以使用Javascript - 因为数组可以使用自定义比较函数进行排序.您可以使用此机制将选定的<div>s 集转换为数组toArray(),然后对它们进行排序.

$('#container > div').toArray().sort( function(a,b) { a.id - b.id } );
Run Code Online (Sandbox Code Playgroud)

您还可以使用detach()and appendTo()方法删除并按排序顺序重新插入元素.但是,这可能不是重新排序DOM元素的最有效方法.