Boa tarde, diferente do exemplo dado no video eu estava querendo aplicar com o forEach para fixação, porém ao utilizar na expressao o parametro this.value a expressão não funciona. Quando utilizo no lugar de this.value o parametro campoFiltro.value ele funciona como esperado, o que estou fazendo de errado para não conseguir utilizar o this.value? Segue abaixo o código que estou utilizando com o campoFiltro.value no parametro da expressão (funcionando). Obrigado!
var campoFiltro = document.querySelector("#filtrar-tabela");
campoFiltro.addEventListener("input", function(){
var pacientes = document.querySelectorAll(".paciente");
if (this.value.length > 0) {
pacientes.forEach(function(paciente){
var tdNome = paciente.querySelector(".info-nome");
var nome = tdNome.textContent;
var expressao = new RegExp(campoFiltro.value, "i");
if (!expressao.test(nome)){
paciente.classList.add("invisivel");
}
else {
paciente.classList.remove("invisivel");
}
});
}
else {
pacientes.forEach(function(paciente){
paciente.classList.remove("invisivel");
});
}
});