/ / JQuery - Classificar <p> usando dois dados, quando um é igual - javascript, jquery

JQuery - Classifique <p> usando dois dados, quando um é igual - javascript, jquery

Eu tenho múltiplos elementos P dentro de múltiplos divs, e eu posso classificar usando 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>

Mas às vezes, o tipo de dados é o mesmo do elemento anterior e do próximo, e eu preciso manter o (data-maquina = 1) sempre primeiro (data-maquina = 2).

Como posso classificar os elementos P usando dois parâmetros de dados?

Eu tenho esse código para comparar a classificação de dados e está funcionando:

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
}

O que eu uso na declaração If? Eu espero que seja claro. No (????)! Obrigado!

Respostas:

0 para resposta № 1

Basta verificar outros dados:

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;
}
}