Após usar o botão e adicionar os pacientes do JSON, o filtro não funciona mais. Segue meu código buscar-pacientes.js e filtra-tabela.js, respectivamente:
var botaoAdicionar = document.querySelector("#buscar-pacientes");
botaoAdicionar.addEventListener("click", function(){
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api-pacientes.herokuapp.com/pacientes");
xhr.addEventListener("load", function(){
var resposta = xhr.responseText;
var pacientes = JSON.parse(resposta);
pacientes.forEach(function(paciente){
adicionaPacienteNaTabela(paciente);
});
});
xhr.send();
});
var filtroInput = document.querySelector("#filtrar-tabela");
filtroInput.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.add("invisivel");
}else {
paciente.classList.remove("invisivel");
}
}
} else {
for(var i = 0; i < pacientes.length; i++){
var paciente = pacientes[i];
paciente.classList.remove("invisivel");
}
}
});