JQuery - 使用两个数据排序<p>,当一个相等时

时间:2017-09-26 00:01:10

标签: javascript jquery

我在倍数div中有多个P元素,然后我可以使用attr data-sort

进行排序
<p class="7389" data-sort="4" data-maquina="1" style="color: rgb(65, 151, 244); font-size: 12px;"> Compra e Venda - R-4-7389 -   --&gt; DIG11</p>

<p class="7389" data-sort="4" data-maquina="2" style="color: rgb(65, 151, 244); font-size: 12px;"> Compra e Venda - R-4-7389 -   --&gt; DIG11</p>

但有时,数据排序与前一个和下一个元素相同,我需要始终保持(data-maquina = 1)(data-maquina = 2)。

如何使用两个数据参数对P元素进行排序?

我有这个代码来比较数据排序,它正在运行:

function sort_li(a, b) {
    if ($(b).data('sort') == $(a).data('sort')){
        console.log("??????");
    } else {
        return ($(b).data('sort')) < ($(a).data('sort')) ? 1 : -1;      
    }
}


for (i = 0; i < matriculasunicas.length; ++i) {
    var iddamatricula = '#'+matriculasunicas[i];
    $(iddamatricula + "> p").sort(sort_li).appendTo(iddamatricula); // append again to the list 
}

我在If语句中使用了什么? 我希望能清楚。 在(????)!谢谢!

1 个答案:

答案 0 :(得分:0)

只需查看其他数据:

function sort_li(a, b){
    if($(b).data('sort') == $(a).data('sort')){
        return ($(b).data('maquina')) < ($(a).data('maquina')) ? 1 : -1;
    }else{
        return ($(b).data('sort')) < ($(a).data('sort')) ? 1 : -1;      
    }
}