Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

264
Views
Necesito ayuda para usar JavaScript para envolver etiquetas <span> alrededor del contenido existente

Hola, agradezco cualquier ayuda que pueda obtener con esto, ya que todavía estoy aprendiendo JavaScript.

Tengo algo de HTML en el que estoy tratando de insertar etiquetas de intervalo específicas. He encontrado respuestas que le permiten simplemente reemplazar el HTML interno, sin embargo, el contenido que estoy tratando de envolver es ligeramente diferente en cada página para la que estoy tratando de lograr esto, pero la estructura HTML es la misma.

Aquí está el HTML actual, frente a lo que me gustaría que fuera:

 <div class="list-view__count"> <p> Showing 1 - 18 of 46 results </p> </div>

Y lo que me gustaría agregar:

 <div class="list-view__count" content="nosnippet"> <p> <span data-nosnippet>Showing 1 - 18 of 46 results</span> </p> </div>

Probé varios códigos y agregué con éxito la sección content="nosnippet",

 document.querySelector(".list-view__count ").setAttribute("content", "nosnippet")

pero la etiqueta parece que no puedo entender cómo se hace todavía.

Cualquier ayuda será apreciada.

Salud

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

prueba algo como

 var div = document.getElementById('list-view__count'); var x = document.creatElement('span'); var text = document.createTextNode('text here'); x.appendChild(text) div.appendChild(x)
about 4 years ago · Juan Pablo Isaza Report

0

  • Puede obtener el texto dentro de <p> con textContent , guardarlo en una variable, luego crear una etiqueta de intervalo y establecer el texto en <span> con el mismo método.
  • No creo que pueda establecer un atributo de data... sin un valor como ese, pero funcionalmente debería ser el mismo.
  • Lo envolvió en otro div para que sea más fácil visualizar la salida.

 const div = document.querySelector(".list-view__count"); const p = document.querySelector(".list-view__count>p"); const pText = p.textContent; const span = document.createElement("span"); div.setAttribute("content", "nosnippet") p.textContent = ''; span.textContent = pText; span.setAttribute("data-nosnippet", '') p.appendChild(span); console.log(document.querySelector(".wrap").outerHTML)
 <div class="wrap"> <div class="list-view__count"> <p> Showing 1 - 18 of 46 results </p> </div> </div>

about 4 years ago · Juan Pablo Isaza Report

0

Puede seleccionar el elemento p que es el hijo inmediato de su div, seleccionar su HTML interno (lo hice por si acaso tenía alguna marca HTML para que se conserve), borrar el HTML interno del elemento p y luego agregar un elemento span que tiene el conjunto de atributos de datos y el HTML interno copiado de la página original.

 const p = document.querySelector('.list-view__count > p'); const pInner = p.innerHTML; p.innerHTML = ''; const span = document.createElement('span'); span.innerHTML = pInner; span.setAttribute('data-nosnippet', ''); p.append(span);
 <div class="list-view__count"> <p> Showing 1 - 18 of 46 results </p> </div>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!