Добавление элемента SVG к существующему SVG с помощью DOM
у меня есть HTML-конструкция, которая напоминает следующий код:
<div id='intro'>
<svg>
//draw some svg elements
<svg>
</div>
Я хочу иметь возможность добавлять некоторые элементы в SVG, определенные выше, используя javascript и DOM. Как бы мне это сделать? Я думал о
var svg1=document.getElementById('intro').getElementsByTagName('svg');
svg1[0].appendChild(element);//element like <line>, <circle>
Я не очень хорошо знаком с использованием DOM, или как создать элемент, который будет передан appendChild поэтому, пожалуйста, помогите мне с этим или, возможно, покажите мне, какие другие альтернативы я должен решить эту проблему. Большое спасибо.
2 ответа:
если вы хотите создать HTML-элемент, используйте .
var svg = document.getElementsByTagName('svg')[0]; //Get svg element var newElement = document.createElementNS("http://www.w3.org/2000/svg", 'path'); //Create a path in SVG's namespace newElement.setAttribute("d","M 0 0 L 10 10"); //Set path's data newElement.style.stroke = "#000"; //Set stroke colour newElement.style.strokeWidth = "5px"; //Set stroke width svg.appendChild(newElement);
этот код будет производить что-то вроде этого:
<svg> <path d="M 0 0 L 10 10" style="stroke: #000; stroke-width: 5px;" /> </svg>
createElement
: https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement
createElementNS
: https://developer.mozilla.org/en-US/docs/Web/API/Document/createElementNS