1
resposta

exercício de alternativa para filtro de palavras

var titulo = document.querySelector('h1');
var nome = titulo.textContent;
var campo = document.querySelector('input');

campo.addEventListener('input', () => {
  var comparar = nome.substr(0, nome.length);
  if(!(this.value == comparar)) {
    titulo.classList.add('invisivel');
  } else {
    titulo.classList.remove('invisivel');
  }
});

em um dos exercícios o instrutor pede para usar outo método para filtrar uma palavra, quando digito o nome no campo o titulo desaparece, mas mesmo digitando o nome cero ele não volta a aparecer.

1 resposta

Fala ai Mateus, tudo bem? Acho que você pode utilizar a função includes da string, a ideia seria mais ou menos assim:

campo.addEventListener('input', () => {
    if(nome.toLowerCase().includes(this.value).toLowerCase())) {
        titulo.classList.remove('invisivel');
    } else {
        titulo.classList.add('invisivel');
    }
});

Assim ele vai verificar se o valor digitado contém dentro do nome e também converte tudo para letras minusculas para não ter diferença da A com a.

Espero ter ajudado.