Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

135
Visualizações
Buscar elemento que contenga texto específico con vanilla js

¿Hay alguna forma de encontrar elementos HTML que contengan texto específico en JavaScript estándar? (Como $( ':contains(text)' ) en jQuery)

*Excluyendo los elementos principales. Solo debe encontrar el elemento que envuelve inmediatamente el texto.

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Puedes usar filter :

 [...document.querySelectorAll('*')].filter(el => el.textContent.includes(text))

Como se señaló correctamente, eso también le dará todos los ancestros de los elementos que está buscando.

Así que aquí hay un enfoque diferente:

 const searchString = 'foo'; function findByText(needle, haystack = document) { return [...haystack.querySelectorAll('*')].reduce( (acc, val) => { for (const { nodeType, textContent, parentElement } of val.childNodes) { if (nodeType === 3 && textContent.includes(needle) && !(parentElement.tagName === 'SCRIPT')) acc.push(parentElement); } return acc; }, [] ); } console.log(findByText(searchString));
 <div> <span> <em> foobar ftw</em> </span> </div>

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda