[Javascript] .removeで消した要素を考慮しないで、いまある要素だけを考慮したindexを取得する

document.querySelectorAllで取得したインデックスを参照する際に、.removeで消した要素を考慮しないで、いまある要素だけを考慮したindexを取得するには、もう一度インデックスを取り直すとよい

document.querySelectorAll('.clickable-image').forEach((image, index) => {
    image.addEventListener('click', function() {
        // 現在の状態でのインデックスを取得
        const currentIndex = Array.from(document.querySelectorAll('.clickable-image')).indexOf(this);
        console.log("current index:", currentIndex);
        showModal(currentIndex);
    });
});

// 別の関数で要素を削除する例
function removeImage(targetElement) {
    targetElement.remove();
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です