Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Dúvida Sobre a aula

var filtro = document.querySelector("#filtro-tabela");

filtro.addEventListener("input", function () {
    var pacientes = document.querySelectorAll(".paciente");
    if (this.value.length > 0) {
        for (var i = 0; pacientes.length; i++) {
            var paciente = pacientes[i];
            var tdnome = document.querySelector(".info-nome");
            var nome   = tdnome.textContent;
            var regex = new RegExp(this.value, "i");
            if(regex.test(nome)){

//está dando erro nessa linha. Tem algo de errado com o código ?
                paciente.classList.add("invisivel");
            }

        }
    }else{
        for (var i = 0; pacientes.length; i++) {
            var paciente = pacientes[i];
            paciente.classList.remove("invisivel");
        }
    }
});
5 respostas

Boa tarde, Thalyson! Como vai?

Que erro está dando? Aparece alguma mensagem no console do desenvolvedor no navegador? Se sim, cole aqui a mensagem.

Olá. boa tarde, vou bem, obrigado. a mensagem de erro é a seguinte:

Uncaught TypeError: Cannot read property 'classList' of undefined
    at HTMLInputElement.<anonymous> (filtra-paciente.js:14)
solução!

Entendi! Me parece que a declaração do laço for está errada! Vc fez assim:

for (var i = 0; pacientes.length; i++)

E deveria ser assim:

for (var i = 0; i < pacientes.length; i++)

Os dois laços for do seu código possuem esse mesmo problema!

Tinha acabado de encontrar hahah, mas mesmo assim, muito obrigado.

Por nada, Thalyson! Sempre que tiver qualquer dúvida é só mandar aqui no fórum!

Grande abraço e bons estudos!