A cada digito do evento input o erro abaixo é apresentado no arquivo Arquivo filtra.js:
Uncaught TypeError: Cannot read property 'querySelector' of undefined
at HTMLInputElement.<anonymous>
O ponto do código que apresenta este erro é:
...querySelector('.info-nome').textContent)) {
Alguem tem alguma pista de como resolver??
document.querySelector('#filtrar-tabela').addEventListener('input', function() { // evento de onKeyPressed
var pacientes = document.querySelectorAll('.paciente'); // itens da tabela TDs
console.log(pacientes);
var expRegular = new RegExp(this.value, 'i'); // expressao regular, parametros: valor q quero testar, insensitive
for( var i = 0; i <= pacientes.length; i++ ) {
if(this.value.length > 0) {
if (!expRegular.test(pacientes[i].querySelector('.info-nome').textContent)) { // funcao test da expressao regular
pacientes[i].classList.add('invisivel'); //comparando this.value com o nome
} else {
pacientes[i].classList.remove('invisivel');
}
} else {
pacientes[i].classList.remove('invisivel');
}
}
});
O Filtro esta funcionando perfeitamente, só o erro que é persistente a cada digito no campo de busca, tanto antes quanto após a requisição AJAX.