Я работаю над некоторыми упражнениями с JQuery, что позволяет мне изменять порядок элементов. Пример, который я объясняю здесь, основан на количестве внутри некоторых тегов <li>
таких как:
<ul>
<li>4</li>
<li>5</li>
.
.
</ul>
Здесь я хочу изменить порядок, и я думаю о некоторой логике с этой функцией, поскольку каждый элемент li
удаляет ее и помещает ее внизу.
$('li').each(function(){
$(this).parent().append(this);
reorder ($(this));
})
Затем эта другая функция оценивает значение предыдущего элемента var prev и, если prev
ниже, поместите элемент выше этого.
function reorder(p) {
var val = parseInt(p.text()),
prev = parseInt(p.prev().text());
if (val > prev) {
p.prev().before(p);
}
}
Теперь вопрос в том, нужен ли мне, если утверждение верно, переоценивает значения с новым элементом prev
для рассмотрения новой позиции. Вот так:
if (val > prev) {
p.prev().before(p);
// And Run again the function to compare with the new prev element
}
Может ли кто-нибудь показать мне способ сделать это?
Вот пример скрипта
Pd: Теперь у меня есть другие варианты, такие как This, чтобы получить переупорядочение, но в этом примере больше говорится об отзыве функции.
Просто назовите его снова (это называется рекурсия):
if (val > prev) {
p.prev().before(p);
reorder (p);
}