Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

283
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda