Olá, no meu código, a classe "invisivel" é atribuída corretamente as linhas da tabela, tornando os pacientes ocultos, porém ao escrever o nome de um paciente corretamente no campo de filtro, o paciente correspondente não reaparece. Quando o campo de filtro é completamente limpo, todos os pacientes voltam a aparecer novamente de forma correta.
Por favor, poderiam me ajudar a encontrar o erro? Segue abaixo o código:
var campoFiltro = document.querySelector("#filtrar-tabela");
campoFiltro.addEventListener("input",funcaoInput);
function funcaoInput()
{
console.log(this.value);
var pacientes = document.querySelectorAll(".paciente");
if( this.value.length > 0 )
{
for( var i = 0 ; i < pacientes.length ; i++ )
{
var paciente = pacientes[i];
var tdNomePaciente = paciente.querySelector("info-nome");
var nomePaciente = paciente.textContent;
if( nomePaciente != this.value )
{
paciente.classList.add("invisivel");
}
else
{
paciente.classList.remove("invisivel");
}
}
}
else
{
for( var i = 0 ; i < pacientes.length ; i++ )
{
var paciente = pacientes[i];
paciente.classList.remove("invisivel");
}
}
}