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

132
Visualizações
Envuelva el contenido de texto de una etiqueta en otra etiqueta en javascript

Tengo la siguiente estructura html:

<span>foobar</span>

Me gustaría envolver el contenido de texto de este lapso en otra etiqueta como esta usando javascript puro:

 <span><p>foobar</p></span>

Ya probé esto pero sin éxito:

 span.appendChild(virtualDoc.createElement('p'));

¡Gracias por leerme!

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Usa Element.childNodes y .append()

 // DOM utility functions: const el = (sel, par) => (par || document).querySelector(sel); const elNew = (tag, prop) => Object.assign(document.createElement(tag), prop); // Task: Wrap and re-append: const elTarget = el("div"); // Demo only. Use a better, unique selector instead const elParagr = elNew("p"); // Create the Paragraph elParagr.append(...elTarget.childNodes); // Append childNodes to Paragraph elTarget.append(elParagr); // Insert all back into the target element
 div {border: 2px solid red;} p {border: 2px solid blue;}
 <!-- P inside SPAN is invalid HTML markup, use a DIV instead! --> <div>foobar <b>baz</b></div>

about 4 years ago · Juan Pablo Isaza Relatório

0

Hola, puedes hacer esto fácilmente al tener una función que primero guardará el contenido anterior antes de agregar el elemento P. Por favor, compruebe el código a continuación:

 <span id="span">foobar</span> <input type="button" value="add element" onclick="addElem()"> function addElem(){ content = document.getElementById("span").innerHTML; document.getElementById("span").innerHTML = "<p>"+ content +"</p>"; }

Violín: https://jsfiddle.net/p2czo5qe/

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede archivar esto muy fácilmente usando la función de Javascript innerHTML . Como eso:

Nota ¿Está realmente seguro de que desea envolver etiquetas p dentro de una etiqueta span?

 function addElem() { spans = document.querySelectorAll('div span'); container = document.querySelector('div'); nc = ''; spans.forEach(s => { c = s.innerHTML; nc = nc + `<p>${c}</p>`; }); container.innerHTML = '<span>' + nc + '</span>'; }
 span { color: red; } span p { color: green; }
 <div> <span>foobar</span> <span>baz</span> </div> <input type="button" value="add element" onclick="addElem()">

Estructura de salida

 <span> <p>foobar</p> <p>baz</p> </span>
about 4 years ago · Juan Pablo Isaza 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