如何使用jQuery根据CSV列表中的ID对div元素进行排序? [英] How to sort div elements according to id from a CSV list using jQuery?
本文介绍了如何使用jQuery根据CSV列表中的ID对div元素进行排序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在一个变量中有此信息
I have this info in a variable
"sortorder": "obj,exp,qual,edu,int,ref,img
我也有对应的div ID,但顺序是随机的.
I also have corresponding div id's but in shuffled order.
<div id = "qual">info</div>
<div id = "exp">info</div>
<div id = "edu">info</div>
<div id = "int">info</div>
<div id = "ref">info</div>
<div id = "img">info</div>
<div id = "obj">info</div>
现在我必须根据排序顺序对div进行排序. 第一个应该是obj,第二个应该是这样的expp
Now i have to sort the div's according to sortorder. The first should be obj, second should be exp like this
<div id="obj">info<div>
<div id="exp">info<div>
<div id="qual">info<div>
<div id="edu">info<div>
<div id="int">info<div>
<div id="ref">info<div>
<div id="img">info<div>
如何使用jquery做到这一点?
How to do this using jquery?
推荐答案
var sortorder = "obj,exp,qual,edu,int,ref,img".split(',');
$('div').sort(function(a, b){
return sortorder.indexOf(a.id) > sortorder.indexOf(b.id);
}).appendTo('body');
较旧版本的IE不支持Array对象的indexOf
方法,要支持这些伪浏览器,可以使用jQuery $.inArray()
实用工具功能:
Older versions of IE do not support Array object's indexOf
method, for supporting those pseudo-browsers, you can use jQuery $.inArray()
utility function:
$('div').sort(function(a, b){
return $.inArray(a.id, sortorder) > $.inArray(b.id, sortorder);
}).appendTo('body');
这篇关于如何使用jQuery根据CSV列表中的ID对div元素进行排序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文