Esta fue mi solución:
function searchImagesEvent () {
const searchBox = document.getElementById('search-box')
searchBox.addEventListener('keyup', function () {
const regex = new RegExp(this.value.toLowerCase(), 'gi')
if (this.value.length > 0) {
const thumbs = document.querySelectorAll('li.list-group-item img')
for (let i = 0, length1 = thumbs.length; i < length1; i++) {
const fileUrl = url.parse(thumbs[i].src)
const fileName = path.basename(fileUrl.pathname)
if (fileName.match(regex)) {
thumbs[i].parentNode.classList.remove('hidden')
} else {
thumbs[i].parentNode.classList.add('hidden')
}
}
selectFirstImage()
} else {
showAllImages()
selectFirstImage()
}
})
}
function selectFirstImage () {
const image = document.querySelector('li.list-group-item:not(.hidden)')
changeImage(image)
}
function showAllImages () {
const thumbs = document.querySelectorAll('li.list-group-item img')
for (let i = 0, length1 = thumbs.length; i < length1; i++) {
thumbs[i].parentNode.classList.remove('hidden')
}
}```
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?