Javascript 按类别中的属性对div排序
我尝试通过使用属性数据名和jquery或 每个房间的javascript html格式如下: 我只想从A-Z排序usernames div。 我该怎么做? 非常感谢你的帮助Javascript 按类别中的属性对div排序,javascript,jquery,html,sorting,Javascript,Jquery,Html,Sorting,我尝试通过使用属性数据名和jquery或 每个房间的javascript html格式如下: 我只想从A-Z排序usernames div。 我该怎么做? 非常感谢你的帮助 <div id="room_1"> <div class="roomheader"></div> <div class="userlist" data-name="Blue"></div> <div class="userlist" data-na
<div id="room_1">
<div class="roomheader"></div>
<div class="userlist" data-name="Blue"></div>
<div class="userlist" data-name="Zoosa"></div>
<div class="userlist" data-name="Any"></div>
</div>
<div id="room_2">
<div class="roomheader"></div>
<div class="userlist" data-name="Blue"></div>
<div class="userlist" data-name="Zoosa"></div>
<div class="userlist" data-name="Any"></div>
</div>
<div id="room_3">
<div class="roomheader"></div>
<div class="userlist" data-name="Blue"></div>
<div class="userlist" data-name="Zoosa"></div>
<div class="userlist" data-name="Any"></div>
</div>
..您只需获取所有项目,使用带有自定义比较器的
.sort()
函数对它们进行排序,然后将它们追加回初始容器
$(“.room”).each(function(){//用于每个房间
var users=$(this.find(“.userlist”);//带上房间中的每个用户
如果(users.length==0)返回;
sort(函数(a,b){//对它们进行排序
var aText=$(a).数据(“名称”);
var bText=$(b).数据(“名称”);
if(aTextbText)返回1;
返回0;
});
users.each(函数(){
$(this).parent().append(this);//以新的顺序将它们追加回去
});
});代码>
蓝色
佐萨
任何
蓝色
佐萨
任何
您只需获取所有项目,使用带有自定义比较器的.sort()
函数对它们进行排序,然后将它们追加回初始容器
$(“.room”).each(function(){//用于每个房间
var users=$(this.find(“.userlist”);//带上房间中的每个用户
如果(users.length==0)返回;
sort(函数(a,b){//对它们进行排序
var aText=$(a).数据(“名称”);
var bText=$(b).数据(“名称”);
if(aTextbText)返回1;
返回0;
});
users.each(函数(){
$(this).parent().append(this);//以新的顺序将它们追加回去
});
});代码>
蓝色
佐萨
任何
蓝色
佐萨
任何
您只需获取所有项目,使用带有自定义比较器的.sort()
函数对它们进行排序,然后将它们追加回初始容器
$(“.room”).each(function(){//用于每个房间
var users=$(this.find(“.userlist”);//带上房间中的每个用户
如果(users.length==0)返回;
sort(函数(a,b){//对它们进行排序
var aText=$(a).数据(“名称”);
var bText=$(b).数据(“名称”);
if(aTextbText)返回1;
返回0;
});
users.each(函数(){
$(this).parent().append(this);//以新的顺序将它们追加回去
});
});代码>
蓝色
佐萨
任何
蓝色
佐萨
任何
您只需获取所有项目,使用带有自定义比较器的.sort()
函数对它们进行排序,然后将它们追加回初始容器
$(“.room”).each(function(){//用于每个房间
var users=$(this.find(“.userlist”);//带上房间中的每个用户
如果(users.length==0)返回;
sort(函数(a,b){//对它们进行排序
var aText=$(a).数据(“名称”);
var bText=$(b).数据(“名称”);
if(aTextbText)返回1;
返回0;
});
users.each(函数(){
$(this).parent().append(this);//以新的顺序将它们追加回去
});
});代码>
蓝色
佐萨
任何
蓝色
佐萨
任何
函数SortByName(a,b){
var aName=a.toLowerCase();
var bName=b.toLowerCase();
返回((aNamebName)?1:0));
}
功能sortDiv(目标,分区){
var tempArray=[];
$(divs)。每个(函数(i,o){
tempArray.push($(o).data('name');
});
tempArray.sort(SortByName);
$(临时数组)。每个(函数(i,o){
target.append(target.find('.userlist[data name='+o+']');
});
}
$(文档).ready(函数(){
sortDiv($('room_1'),$('room_1')。查找('userlist');
});
恶魔:
函数SortByName(a,b){
var aName=a.toLowerCase();
var bName=b.toLowerCase();
返回((aNamebName)?1:0));
}
功能sortDiv(目标,分区){
var tempArray=[];
$(divs)。每个(函数(i,o){
tempArray.push($(o).data('name');
});
tempArray.sort(SortByName);
$(临时数组)。每个(函数(i,o){
target.append(target.find('.userlist[data name='+o+']');
});
}
$(文档).ready(函数(){
sortDiv($('room_1'),$('room_1')。查找('userlist');
});
恶魔:
函数SortByName(a,b){
var aName=a.toLowerCase();
var bName=b.toLowerCase();
返回((aNamebName)?1:0));
}
功能sortDiv(目标,分区){
var tempArray=[];
$(divs)。每个(函数(i,o){
tempArray.push($(o).data('name');
});
tempArray.sort(SortByName);
$(临时数组)。每个(函数(i,o){
target.append(target.find('.userlist[data name='+o+']');
});
}
$(文档).ready(函数(){
sortDiv($('room_1'),$('room_1')。查找('userlist');
});
恶魔:
函数SortByName(a,b){
var aName=a.toLowerCase();
var bName=b.toLowerCase();
返回((aNamebName)?1:0));
}
功能sortDiv(目标,分区){
var tempArray=[];
$(divs)。每个(函数(i,o){
tempArray.push($(o).data('name');
});
tempArray.sort(SortByName);
$(临时数组)。每个(函数(i,o){
target.append(target.find('.userlist[data name='+o+']');
});
}
$(文档).ready(函数(){
sortDiv($('room_1'),$('room_1')。查找('userlist');
});
恶魔:
你可以简单地做
$("#room_1 .userlist").sort(function (first, second) {
return $(first).data('name') > $(second).data('name');
}).appendTo($("#room_1"));
你可以这么做
$("#room_1 .userlist").sort(function (first, second) {
return $(first).data('name') > $(second).data('name');
}).appendTo($("#room_1"));
你可以这么做
$("#room_1 .userlist").sort(function (first, second) {
return $(first).data('name') > $(second).data('name');
}).appendTo($("#room_1"));
你可以这么做
$("#room_1 .userlist").sort(function (first, second) {
return $(first).data('name') > $(second).data('name');
}).appendTo($("#room_1"));
我已经在JSFIDLE中完成了排序,请通过以下链接
我已经在JSFIDLE中完成了排序,请通过以下链接
我已经在JSFIDLE中完成了排序,请通过以下链接
我已经在JSFIDLE中完成了排序,请通过以下链接
你试过什么吗?你试过什么吗?你试过什么吗?你试过什么吗?非常感谢