Tengo un valor de campo de entrada que se divide.
<input type="text" id="findW" value="command prompt" /> const txtValue = document .getElementById("findW") .value.replace(/[.*+?^${ }()|[\]\\]/g, "\\$&"); const r2 = txtValue.split(" "); console.log(`R2 with split looks like: ${r2}`);
Cada palabra resultante de la división debe verificarse si aparece en algunos elementos para mostrarlos. Lo hice usando jQuery pero me gustaría usar Vanilla JS.
let searchInElements = `.some-classes-to-search`; //How can be rewritten in JS this jQuery below? $(searchInElements).each(function (i, el) { if ($(this).text().match(r2)) { showElement(el); } });
Función utilizada para mostrar elementos con las palabras de entrada:
function showElement(el) { el.closest("#idOfEl") ? (el.closest("#idOfEl").style.display = "block") : null; }
No es tan diferente en realidad.
let searchInElements = `.some-classes-to-search`; // Vanilla document.querySelectorAll(searchInElements).forEach(el => { if (el.innerText.trim().match(r2)) showElement(el); }) function showElement(el) { if (parent = el.closest("#idOfEl")) parent.style.display = "block"; }