给出以下列表
<ul class="listitems">
<li data-position="1">Item 1</li>
<li data-position="2">Item 2</li>
<li data-position="3">Item 3</li>
<li data-position="4">Item 4</li>
</ul>
页面上有一些功能,可以使这些项目改变位置。例如,他们可能会进入以下状态(仅作为示例,订单可以是任何东西):
<ul class="listitems">
<li data-position="3">Item 3</li>
<li data-position="2">Item 2</li>
<li data-position="1">Item 1</li>
<li data-position="4">Item 4</li>
</ul>
我正在寻找一个小的功能来重置订单。到目前为止,我有以下内容:
function setPositions()
{
$( '.listitems li' ).each(function() {
var position = $(this).data('position');
$(this).siblings().eq(position+1).after(this);
});
}
但是它不能正常工作。我究竟做错了什么?
附加条件是列表的顺序可能没有更改,因此该功能也必须在这种情况下起作用。
偶然的你
相关分类