No filtro de pesquisa descobrir uma forma mais fácil de fazer o que ele fez no final. Também fiz que independentemente de como o usuário digitar (Tati, tati, TATI ou tAtI) a pesquisa consegue achar o nome.
Basta fazer isso:
var campoFiltro = document.querySelector("#filtrar-tabela");
campoFiltro.addEventListener("input", function(){
console.log(this.value);
var pacientes = document.querySelectorAll(".paciente");
for (var i = 0; i < pacientes.length; i++) {
var paciente = pacientes[i];
var tdNome = paciente.querySelector(".info-nome");
var nome = tdNome.textContent;
//nesse if eu já resolvo os problemas.
if (nome.toLowerCase() != this.value.toLowerCase() && this.value.length > 0) {
paciente.classList.add('invisivel');
} else {
paciente.classList.remove('invisivel');
}
}
});
Tudo está resolvido no if. Eu uso o toLowerCase() para converter o texto para minúsculo, ou seja, você não precisa se preocupar em escrever igual o nome que está na tabela. Mais resumidamente: Se (nome do paciente em minúsculo != texto do input em minúsculo && o valor de texto de input for maior que 0) {...}