如何使用jQuery根据CSV列表中的ID对div元素进行排序? [英] How to sort div elements according to id from a CSV list using jQuery?

查看:98
本文介绍了如何使用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');

http://jsfiddle.net/JYnMd/

较旧版本的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆