Вот шаги, которые необходимо выполнить
- Получить все значения
li
- Сортировать массив
- Теперь добавьте порядок к
li
function sortNumber(a, b) {
return b - a;
}
$(document).ready(function() {
let allVal = [];
$('ul li').each(function(i) {
allVal.push(parseInt($(this).attr('data-id'), 10));
});
allVal = allVal.sort(sortNumber);
$('ul li').each(function(i) {
let id = parseInt($(this).attr('data-id'), 10);
$(this).attr('data-order', allVal.indexOf(id) + 1);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<ul>
<li class="test" data-id="3">hi</li>
<li class="test" data-id="5">hey</li>
<li class="test" data-id="1">hello</li>
<li class="test" data-id="17">Okay</li>
</ul>
function sortNumber(a, b) {
return b - a;
}
$(document).ready(function() {
let allVal = [];
$('ul li').each(function(i) {
allVal.push(parseInt($(this).attr('data-id'), 10));
});
allVal = allVal.sort(sortNumber);
$('ul li').each(function(i) {
let id = parseInt($(this).attr('data-id'), 10);
let text = $(this).text();
$(this).attr('data-order', allVal.indexOf(id) + 1).text(text + ' Order =' + (allVal.indexOf(id) + 1) );
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<ul>
<li class="test" data-id="3">hi</li>
<li class="test" data-id="5">hey</li>
<li class="test" data-id="1">hello</li>
<li class="test" data-id="17">Okay</li>
</ul>
