我有一个列表:
<ul>
<li class="item_1">element</li>
<li class="item_2">element</li>
<li class="item_3">element</li>
</ul>
经过一些拖放操作后,我正在切换元素位置,因此在此之后我的列表如下所示:
<ul>
<li class="item_2">element</li>
<li class="item_3">element</li>
<li class="item_1">element</li>
</ul>
在此拖动操作之后,我需要替换此元素的类,以再次获得排序列表 - 拖动之前的状态。
所以,我正在这样做:
var setItemNumber = function(item) {
item.each(function(i) {
$(this).removeAttr('class').attr('class', 'item_' + (i + 1));
});
}
发生的情况是元素正在更改类,但它们处于相同的位置,看起来它们没有更改索引,并且此迭代作用于先前的 DOM 列表状态。
我该如何改变这个,或者其他什么?有人可以帮忙吗?
最佳答案
我猜你要找的是这个:
reindexItems = function() {
var items = $('ul li');
var i = 1;
items.each(function() {
$(this).removeAttr('class').attr('class', 'item_' + i++);
});
}
关于javascript - 使用 jQuery 更改列表元素索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30256124/