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

Não está removendo a classe na filtragem.

Olá, como vão?

Estou tentando filtrar um paciente mas mesmo escrevendo o nome corretamente o navegador não mostra, ao inspecionar o HTML percebo que ele não está removendo a classe de ocultação(.invisivel), porém o comando está lá, porque isso acontece?

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

filtro.addEventListener("input", function(){
    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.textContext;

        if(nome != this.value) {
            paciente.classList.add("invisivel");
        }else{
            paciente.classList.remove("invisivel");
        }
    }
});
2 respostas
solução!

Oi Yago, tudo bem?

Acredito que o erro esteja acontecendo pois na variável nome, você utilizou textContext, e na verdade o correto é textContent, por isso que a variável estava retornando undefined e causando um erro na filtragem.

Veja se agora funciona como o esperado! Caso ainda não, me retorne aqui que estou à disposição!

Abraços e bons estudos!

Olá Giovanna, como vai?

Funcionou aqui certinho, não sei explicar mas meu cérebro assimilou que era textContext o curso inteiro e só agora que vi que todas as usadas eram content, obrigado pelo retorno.