javascript - 使用 jQuery 更改列表元素索引

标签 javascript jquery dom indexing

我有一个列表:

<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/

相关文章:

javascript - 我需要使用递归来导航 DOM 中的每个元素的帮助

jquery - 如何修复 IE6 上的不透明度

javascript - 修复验证表单中的输入错误和延续问题

jquery - 根据点击的表情符号将表情符号添加到输入字段

javascript - jquery窗口调整大小时出现错误

javascript - 通过动态创建数组名称在 click 函数中引用 javascript 数组

javascript - .get(0) 与 .get(),我的 JQuery 意大利面条有效,我不知道为什么

Javascript 在对象创建时选择性继承

javascript - Php 计时器没有停止在 00 :00

javascript - 向 D3 行添加标签