jq通过index改变的属性如何实现刷新时继续将index累加(解决删除一删删两个,编辑时获取不到信息等)

这篇博客探讨了在使用JavaScript进行DOM操作时,如何管理和维护本地存储数组的下标,特别是在增删改查操作中。作者指出,直接使用索引可能导致刷新后下标混乱,提出了解决方案:在保存数据时,不依赖于数组下标,而是为每个条目分配唯一的id,并在加载时根据id进行查找。文章提供了两种不同的id生成策略,确保了id的连续性和唯一性。
摘要由CSDN通过智能技术生成

在做jq增删改查作品时,我们通常通过本地存储的数组的下标获取到当前准备处理的事件,比如删除一项,编辑一项等等

但是就算是把index写上累加,刷新之后还是会从头开始计数,这下下标就乱了,无法找到我们想要的对象了

该咋办呢 先看看一个案例

 $("#addSure").click(function () {

                //获取属性 三个属性
                //获取本地
                var local = getData();

                local.push({
                    //id就是记下标的
                    id: id + '',
                    img: imgData,
                    text: $(".modal-input").val(),
                    type: $("#modal-select1 option:selected").val()
                });

                console.log(id);
                //给累加了
                id++;
                setData(local);
                const localData = getData()
                load(localData);
            }
        }
    });

上面是点击addSure按钮,给本地添加上一个具有id,img,text,type四个属性的对象。

分析:当刷新时,id会变为0,那就检测到当id为0时就给它赋上新的值,价格判断和结果就ok

var id = (getData().length != 0) ? getData()[getData().length - 1].id*1+1 : 0

j就是根据存入本地的数组长度判断它是第几个,赋予新的下标.

用if else也可以

if(getData().length !== 0){
    return  getData()[getData().length - 1].id * 1 + 1;
}else{
    return 0;
}

这样就能连贯地获取到下标了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值