Fiz como foi orientado na aula: adicionei a expressão regular e usei-a com o método test() para realizar a filtragem.
Entretanto, ao adicionar o "Pedro" e a "Tati" e tentar realizar uma nova filtragem, percebi que a "Tati" permanece visível na tabela mesmo se procurar apenas pelos nomes que contém "P".
"Pedro" e "Paulo", por sua vez, aparecem conforme previsto.
Segue abaixo o código que utilizei (um pouco diferente do sugerido na aula, mas que acredito ser equivalente).
Aguardo sugestões!
Obrigado.
var campoFiltro = document.querySelector("#filtrar-tabela");
campoFiltro.addEventListener("input", function(event) {
var pacientes = document.querySelectorAll(".paciente");
if (this.value.length > 0) {
for (var i = 0; i < pacientes.length; i++) {
var nome = pacientes[i].querySelector(".info-nome").textContent;
var expressao = new RegExp(this.value, "i");
if (!expressao.test(nome)) {
pacientes[i].classList.add("invisivel");
} else {
pacientes[i].classList.remove("invisivel");
}
}
} else {
for (var j = 0; j < pacientes.length; j++) {
pacientes[j].classList.remove("invisivel");
}
}
});