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
Un nuevo SVG creado a partir del DOM no se muestra usando document.body.appendChild(<svgId_or_svgVariable>)

Creé esta pregunta para encontrar rápidamente esta solución específica, pero supongo que la respuesta es la misma para este tipo de problema.

Problema

Creé un SVG desde el DOM y quería agregarlo al cuerpo (o en cualquier lugar), pero no podía verlo en la web, incluso cuando podía encontrarlo en el árbol DOM en la consola y si copiaba el elemento de la consola y pegado en el HTML que me estaba dando el resultado esperado.

Solución

Estaba usando document.createElement en lugar de document.createElementNS para crear mi SVG.

Este segundo crea un elemento con el URI de espacio de nombres especificado y el nombre completo.

Vea la respuesta principal aquí:

Agregar elemento SVG a SVG existente usando DOM

 // Get the references that you want to copy const svg1 = document.getElementById('svg1'); const path1 = document.getElementById('path1'); //Here I was using: document.createElement('svg') instead of this: const svg2 = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); // Set some svg attributes svg2.id = 'svg2'; svg2.setAttribute('viewBox','0 0 1200 1200'); // Clone the original path and append to the new svg const cpath2 = path1.cloneNode(); cpath2.id = 'cpath2'; svg2.appendChild(cpath2); // Finally append created svg to wherever you want document.body.appendChild(svg2);

PD: sobre copiar desde un SVG existente:

  • Estoy seguro de que hay muchas formas de hacer lo mismo, pero en este caso, estoy usando JS puro para algunos SVG.
  • En el enlace al hilo que escribí anteriormente, hay una respuesta que recomienda usar la biblioteca d3 para administrar SVG.
  • Como dicen los documentos:Advertencia: cloneNode() puede dar lugar a ID de elementos duplicados en un documento. y el nombre también podría duplicarse.
about 4 years ago · Juan Pablo Isaza
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