【问题标题】:How to sort div elements according to id from a CSV list using jQuery? [duplicate]如何使用 jQuery 根据 CSV 列表中的 id 对 div 元素进行排序? [复制]
【发布时间】:2013-04-23 10:04:11
【问题描述】:

我在一个变量中有这个信息

"sortorder": "obj,exp,qual,edu,int,ref,img

我也有相应的 div id,但顺序是乱序的。

<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,第二个应该是exp这样的

<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 做到这一点?

【问题讨论】:

    标签: jquery jquery-ui-sortable sorting quicksort


    【解决方案1】:
    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()实用函数:

    $('div').sort(function(a, b){
      return $.inArray(a.id, sortorder) > $.inArray(b.id, sortorder);
    }).appendTo('body'); 
    

    【讨论】:

    • 哇!成功了,谢谢你的回答。
    • 比方说,我有一个变量 html 中的 HTML。然后如何用排序的 div 覆盖 shuffle div 中的 html
    • @undefined。这很棒。谢谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-09
    • 2023-03-31
    • 1970-01-01
    相关资源
    最近更新 更多