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 - --> 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 - --> 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 № 1Basta 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;
}
}