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

88
Views
SVG agregado a DOM con JS pero no renderizado visualmente

Estoy tratando de crear una forma SVG y agregarla a un elemento en mi DOM.

El siguiente JS agrega el <svg> al nodo previsto, pero no muestra un fondo morado en la página:

 const svgBox = document.createElement("svg"); svgBox.setAttribute('height', 150); svgBox.setAttribute('width', 800); svgBox.setAttribute('style', 'background-color:purple;'); const div = document.getElementsByTagName('div')[0]; // this does exist div.appendChild(svgBox);

Aquí hay un JSFiddle que muestra el HTML equivalente que funciona (si vuelvo a comentar la etiqueta) pero el JS anterior no funciona. He eliminado esto de un caso de uso más complejo y me he demostrado a mí mismo que me falta un principio de visualización básico crucial.

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

0

Un SVG es un elemento con espacio de nombres, por lo que debe usar createElementNS en lugar de createElement ; para comprender por qué, consulte esta respuesta

Aquí hay un ejemplo de trabajo:

 const svgBox = document.createElementNS("http://www.w3.org/2000/svg", "svg"); svgBox.setAttribute('height', 150); svgBox.setAttribute('width', 800); svgBox.setAttribute('style', 'background-color:purple;'); const div = document.getElementsByTagName('div')[0]; // this does exist div.appendChild(svgBox);
 <div> </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!