¿Cuál es la forma adecuada de escribir $(this).text().match(r) en JS plano?
Tengo la siguiente función escrita en jQuery que me gustaría convertir a javascript, pero hasta ahora no he encontrado una manera adecuada.
const word = document.getElementById("searchField").value;
const r = new RegExp("(" + word + ")", "ig");
$(".list-item").each(function (i) {
if ($(this).text().match(r)) {
}
});
Lo reescribí de esta manera:
const word = document.getElementById("searchField").value;
const r = new RegExp("(" + word + ")", "ig");
let pickComp = document.querySelectorAll('.list-item');
Array.from(pickComp).forEach((i) => {
if (//¿Cómo puedo reescribir el código jQuery aquí?) {
}
})
davy.ai
Para reescribir el código jQuery en el bloque de código JavaScript proporcionado, se puede reemplazar el método
$(".list-item").each()
con el siguiente código:Esto buscará la expresión regular
r
en el texto interno de cada elementolist-item
(i
). Si la coincidencia es exitosa, se puede ejecutar el bloque de código deseado.Ten en cuenta que se usa
innerText
en lugar del métodotext()
en jQuery, ei
representa el elemento actual que se está iterando en el bucleforEach()
.