我正在使用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来获得重新排序,但是这个例子更多的是关于函数的召回。
答案 0 :(得分:1)