Estou na Aula 8 do curso JavaScript: Programando na linguagem da web, então foi colocado o bloco de código abaixo, porém toda vez que eu adiciono um novo paciente ele não está conseguindo filtrar o nome do novo paciente, apenas dos antigos, eu copiei o código disponível no curso e o erro persiste.
//código do curso
var campoFiltro = document.querySelector("#filtrar-tabela");
campoFiltro.addEventListener("input", function() { var pacientes = document.querySelectorAll(".paciente");
if (this.value.length > 0) {
for (var i = 0; i < pacientes.length; i++) {
var paciente = pacientes[i];
var tdNome = paciente.querySelector(".info-nome");
var nome = tdNome.textContent;
var expressao = new RegExp(this.value, "i");
// Adição aqui
if (expressao.test(nome)) {
paciente.classList.remove("invisivel");
} else {
paciente.classList.add("invisivel");
}
}
} else {
for (var i = 0; i < pacientes.length; i++) {
var paciente = pacientes[i];
paciente.classList.remove("invisivel");
}
}
});
// Meu código:
/*
var campoFiltro = document.querySelector("#filtrar-tabela")
campoFiltro.addEventListener("input", function(){
var pacientes = document.querySelectorAll(".paciente");
if( this.value.length > 0){
for (var i = 0; i < pacientes.length ; i++){
var paciente = pacientes[i];
var tdNome = paciente.querySelector(".info-nome");
var nome = tdNome.textContent;
var expressao = new RegExp (this.value, "i");
if(expressao.test(nome)){
paciente.classList.remove("invisivel");
}
else{
paciente.classList.add("invisivel");
}
}
} else{
for (var i = 0; i < pacientes.length ; i++){
var paciente = pacientes[i];
paciente.classList.remove("invisivel");
}
}
}) */