Olá! Estou fazendo o curso "JavaScript: programando na linguagem da web", que seria uma versão anterior do curso deste fórum, e por não conseguir criar tópicos novos no fórum daquele, tive que criar neste. No exercício proposto pelo professor, em que ao digitar o nome de um campo, automaticamente os outros nomes somem e somente o digitado fica visível, encontrei dificuldades em fazer da maneira correta. Copiando e colando o código passado pelo professor, a funcionalidade dá certo, entretanto quando eu tento fazer por conta própria, a lista fica simplesmente sumindo, independente do que é digitado.
Abaixo o código:
let campoFiltro = document.querySelector('#filtra-tabela');
campoFiltro.addEventListener('input',function(){
let pacientes = document.querySelectorAll('.paciente');
if(this.value.length > 0){
for (let i = 0; i < pacientes.length; i++){
let paciente = pacientes [i];
let tdNome = document.querySelector('.info-nome');
let nome = tdNome.textContent;
let expressao = new RegExp (this.value,'i');
if(expressao.test(nome)){
paciente.classList.remove('invisivel');
}else{
paciente.classList.add('invisivel');
}
}
}else{
for (let i = 0; i < pacientes.length; i++){
let paciente = pacientes [i];
paciente.classList.remove('invisivel');
}}
});