Adición del textBox con input
<main>
<section class="container">
<h2>Mis pacientes</h2>
<label for="filtrar-tabla"></label>
<input type="text" name="filtro"
id="filtrar-tabla" placeholder="Digite el nombre del paciente">
<table>
<thead>
<tr>
Adición del archivo filtrar.js a HTML
<script src="js/calcular-imc.js"></script>
<script src="js/form.js"></script>
<script src="js/eliminar-paciente.js"></script>
<script src="js/filtrar.js"></script>
Código del archivo filtrar
var campoFiltro = document.querySelector("#filtrar-tabla");
//FILTRANDO LOS PACIENTES DE LA TABLA.
//conformacion del INPUT.
//A todo INPUT se le relaciona un LABEL.
//CCS, la parte visual y se arregla los pixeles.
//src=filtrar.js adicionarse al index.hmtl.
//Usamos el objeto CAMPOFILTRO y el escuchador de eventos.
campoFiltro.addEventListener('input',function(){
var pacientes = document.querySelectorAll(".paciente");
if(this.value.length > 0){
console.log('Hay algunas letras digitadas');
//Lo que necesitamos hacer es colocar toda la iteraccion FOR dentro de IF, porque si if es mayor que cero que corra el FOR; SI NO (else) volver los paciente a la pantalla con var paciente = pacientes [i]); y se remueve la clase invisible.
for(var i = 0; i < pacientes.length; i++){
var paciente = pacientes [i];
var tdNombre = paciente.querySelector(".info-nombre");
var nombre = tdNombre.textContent;
var expresion = new RegExp(this.value, 'i');
//RegExp
//if(nombre != this.value){
//a --> Pedro, como a no es parte de Pedro lo vuelve invisible. entra al if.
//a --> Pablo, como si es parte entra al else y remueve invisible es decir lo vuelve visible.
if(!expresion.test(nombre)){
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");
//EXPRESIONES REGULARES para búsqueda de contenido. Para ello vamos a crear var expresion y vamos a usar un objeto de JS = new RegExp(this.value,'i'); y le pasamos dos parámetros. Uno de ellos es case-insensitive matching, que hace es activar la búsqueda sin diferenciar entre mayúsculas y minúsculas.
}
}
});