En el video de "creando la lógica con filtros" copie el código igual que el profesor, pero me sale un error que dice "uncaught type error cannot read property of undefined (reading 'length')" incluso copie el código que viene en Haz lo que hicimos en el aula y aun así no funciona. Este es el Código.
var campoFiltro = document.querySelector("#filtrar-tabla");
campoFiltro,addEventListener("input", function(){
var pacientes = document.querySelectorAll(".paciente");
if(this.value.length > 0 ){ //aqui está el length que da error
for (var i = 0; i < pacientes.length; i++){
var paciente = pacientes[i];
var tdNombre = paciente.querySelector(".info-nombre");
var nombre = tdNombre.textContent;
if(nombre != this.value){
paciente.classList.add("invisible");
}else{
paciente.classList.remove("invisible");
}
}
}else{
for (var i = 0; i < pacientes.length; i++){
var paciente = pacientes[i];
paciente.classList.remove("invisible");
}
}
});
logre que funcionara reemplazando el thing (así me quedo al final):
var campoFiltro = document.querySelector("#filtrar-tabla");
campoFiltro,addEventListener("input", function(){
var pacientes = document.querySelectorAll(".paciente");
var input = document.querySelector("input");
if(input.value.length > 0 ){
for (var i = 0; i < pacientes.length; i++){
var paciente = pacientes[i];
var tdNombre = paciente.querySelector(".info-nombre");
var nombre = tdNombre.textContent;
if(nombre != input.value){
paciente.classList.add("invisible");
}else{
paciente.classList.remove("invisible");
}
}
}else{
for(var i = 0; i < pacientes.length; i++){
var paciente = pacientes[i];
paciente.classList.remove("invisible");
}
}
});