Me he estado golpeando la cabeza contra la pared con un bucle JS básico y una declaración if else. Lamentablemente, no puedo resolverlo, así que amablemente busco su consejo.
He agregado el código a continuación y este es un enlace a jsfiddle: https://jsfiddle.net/mauro_nappolini/wv5ae1y2/25/#&togetherjs=FFtkmLmEvo
Tengo un bucle for con una instrucción if else anidada que no itera sobre toda la matriz. El bucle for se detiene cuando la declaración devuelve verdadero y no itera sobre los elementos restantes de la matriz.
//Loops through and retrieves all emails from a class of jobemail and adds it to an array var allEmails = $(".jobemail").map(function() { return this.innerHTML; }).get(); //Gets the email that we want to use during comapariosion let membersEmail = $('.email-comparison').html(); //New array for all matching emails let newArray = []; console.log(membersEmail); console.log(newArray); //Loops through new array - shows only matching emails and hides emails that do not match for (let i = 0; i < allEmails.length; i++) { console.log(allEmails[i]); if (allEmails[i] == membersEmail) { //Show matching email content container when jobeemail and email-comparison matches $(".email-content-container").show(); newArray.push(allEmails[i]) } else { //Hide matching email content container when jobeemail and email-comparison matches $(".email-content-container").hide(); } } console.log(newArray);Lo que debe hacer es ocultar todo antes del ciclo y luego mostrar los que coinciden en el ciclo