es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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í?) {

    }
})
Tags:  , , ,

Answer

  1. Avatar for 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:

    if (i.innerText.match(r)) {
        // tu código aquí
    }
    

    Esto buscará la expresión regular r en el texto interno de cada elemento list-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étodo text() en jQuery, e i representa el elemento actual que se está iterando en el bucle forEach().

Comments are closed.