我前幾天有this question,我不想重複一遍這裏的細節。需要幫助修復一個跳過每個其他項目的循環(JavaScript,JQuery)
本質上,我寫了一個循環遍歷表中的每一行並刪除按鈕。問題在於它由於某種原因正在跳過行。
我最終得出結論認爲,這是因爲每次刪除按鈕時,循環都會有一個按鈕/行循環通過,並且會丟棄循環的索引。
爲了解決這個問題,我創建了一個fixer
數字,每次刪除一個按鈕時都會增加1,以抵消索引被甩掉和跳過。然後,當它循環時,它會從索引中減去fixer
的數量,因此它總是處於正確的軌道上。
$(document).on('draw.dt', function() {
var $allSerialNumbers = $('.box-electrode');
var fixer = 0;
$('#electrodes li').each(function (i, li) {
var $id = $(li).data('id');
for (var index = 0; index < $allSerialNumbers.length; index++) {
if ($id == $allSerialNumbers.eq(index).attr('data-id')) {
$('.box-electrode').eq(index - fixer).remove();
fixer++;
break;
}
}
})
});
這個作品真的很好,當你刪除升序排列按鈕(例如:我刪除按鈕1,2和3),但它現在跳過行,如果我向後刪除(我刪除按鈕3,2,然後1)。
這是我之前完全相反的問題,我可以按降序刪除按鈕,事情會很好,但不會提升。現在它與我的fixer
相反。
有沒有其他方法可以解決這個問題?
注意:對不起,如果這一些沒有意義。從前一天的原始問題中可以更詳細地解釋,並在頂部連接。我想保留這篇文章,因爲它提出了一個特定的解決方案,而前一篇文章只是想弄清楚什麼是錯的。
你可以在問題中包含'html'嗎?什麼是要求? – guest271314