请问大家 我通过一个数组索引去删除元素时,遇到索引发生改变如何处理?

new_get_index.forEach(function(item) { 

$("#ul_pics li").eq(item).remove()

})

例:new_get_index = [4,5]

new_get_index 是属索引数组,用jq 写的 我想根据 new_get_index的每项索引 去删除 $("#ul_pics li") 里的对应元素,但是我发现 循环删除的时候,$("#ul_pics li")的索引会发生改变,删错索引,请问这种情况 要怎么处理?不知道我有没有说清楚

for(let i=$("#ul_pics li").length-1; i >= 0;i--){

if($("#ul_pics li").eq(i).attr('id').indexOf('gallery') == -1){

$("#ul_pics li").eq(i).remove()

}

}


回答:

  1. 从后往前删除
  2. 下标 -1 ,也可以理解为步长不 +1


回答:

new_get_index.sort(function(a, b){return b-a}); // 降序排序

new_get_index.forEach(function(item) {

$("#ul_pics li").eq(item).remove();

});

以上是 请问大家 我通过一个数组索引去删除元素时,遇到索引发生改变如何处理? 的全部内容, 来源链接: utcz.com/p/934593.html

回到顶部