/ / JQuery - Triez <p> en utilisant deux données, quand l'une est égale - javascript, jquery

JQuery - Triez <p> en utilisant deux données, quand l'une est égale - javascript, jquery

J'ai plusieurs éléments P à l'intérieur de plusieurs divs, et je peux trier ensuite en utilisant 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>

Mais parfois, le type de données est identique à l'élément précédent et l'élément suivant, et je dois toujours conserver le (data-maquina = 1) toujours ensuite (data-maquina = 2).

Comment je peux trier les éléments P en utilisant deux paramètres de données?

J'ai ce code pour comparer le tri des données et cela fonctionne:

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
}

Qu'est-ce que j'utilise dans l'instruction If? J'espère être clairement. Sur le (????)! Merci!

Réponses:

0 pour la réponse № 1

Il suffit de vérifier d'autres données:

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