Javascript 根据数据行和数据列对无序列表进行排序

Javascript 根据数据行和数据列对无序列表进行排序,javascript,jquery,html,Javascript,Jquery,Html,我有一个带有“ul”(无序列表)的页面,我可以动态插入“li”元素。具有两个属性:数据列和数据行。这两个属性是任意的,可以是任意值。(任意实数) 是否有方法根据数据行和数据列对所有“li”元素重新排序? 它不必是可见的,我只需要'ul'元素及其所有子元素正确排序 额外信息: 这样做的原因是因为我有一个后端代码,需要按顺序读取这个“ul”元素及其子元素,然后填充一个TABLE元素。 这就像我正在将多维数组保存为一维数组 谢谢:)您可以使用jQuery.sort()根据行、列对li元素列表进行排序,

我有一个带有“ul”(无序列表)的页面,我可以动态插入“li”元素。具有两个属性:数据列和数据行。这两个属性是任意的,可以是任意值。(任意实数)

是否有方法根据数据行和数据列对所有“li”元素重新排序? 它不必是可见的,我只需要'ul'元素及其所有子元素正确排序

额外信息: 这样做的原因是因为我有一个后端代码,需要按顺序读取这个“ul”元素及其子元素,然后填充一个TABLE元素。 这就像我正在将多维数组保存为一维数组


谢谢:)

您可以使用
jQuery.sort()
根据行、列对
li
元素列表进行排序,然后将排序后的列表重新附加到
ul
中。附加的列表将替换以前未排序的版本:

var ul=$('#mylist');
var lis=$('#mylist>li');
李斯特(
功能(a、b){
变量ela=$(a);
变量elb=$(b);
var res=+ela.data('row')-elb.data('row');
if(res==0)//如果行相同,则按列排序
res=+ela.data('col')-elb.data('col');
返回res;
}
).附录(ul)

  • 14,2
  • 1、2
  • 4、3
  • 3,1
  • 4.5,1

对发送到后端的数据进行排序,而不是对元素本身进行排序,不是更容易吗?也许你应该发布一些代码,或者至少发布一些它看起来像什么的示例?行/列是偶数吗?如果你有任何代码,你踢周围将更容易协助@adeneo我使用的是一个网格框架,所以它有点像一个大代码,当我向网格中插入新的东西时,这个框架在“ul”元素中添加了一个新的“li”。但它不会重新排列,而是添加到列表的底部。我没有想过在后端对它进行重新排序,我只是觉得用javascript对它进行重新排序会很容易。我会试试看,但我还是想知道如何在javascript中使用它。@zfrisch不,最大列数是4,但行数是可变的哇,太完美了!谢谢你,保罗!