2015-01-04 8 views
0

Как я могу обернуть существующий элемент <svg> в svg.js?Обернуть существующие элементы SVG с помощью библиотеки svg.js

Например:

<svg> 
    <circle r="10" cx="10" cy="10" fill="red"></circle> 
</svg> 

Я знаю, что это может быть построен с svg.js очень легко, но я беру его в качестве примера для моего вопроса.

var existingSvg = Svg.<some-method>(document.querySelector("svg")); 
existingSvg.children(); // circle 

Как это сделать?

Я пробовал использовать SVG('<id-ofsvg-element>'), но children() возвращает пустой массив.

ответ

2

Старый вопрос с новым ответом: В v2 svg.js может пикапов другие экземпляры SVG путем простого вызова SVG.get('id') который затем будет возвращать экземпляр для этого SVG

// EDIT: чтобы убедиться, что все методы работают правильно, вы должны позвонить SVG.prepare(element), если у вас еще нет другого SVG в документе. Я думаю, что это ошибка, которая должна быть исправлена.

// EDIT2: Возможно даже использовать SVG ('id') для получения корневого экземпляра. Это сделало бы вызов SVG.prepare() устаревшим, тоже

+0

Это должно быть потрясающе. Благодаря! –

+0

Что делать, если у меня есть фактический элемент, а не идентификатор? – burnpanck

+0

Вы должны использовать метод принятия – Fuzzyma

2

Существует plugin called svg.absorb.js, который позволяет импортировать существующие SVG. Для того, чтобы использовать его, выполнить

draw.absorb(element) 
+0

Возможно ли загрузить его на место? Это просто копирует существующий svg в экземпляр 'SVG'. –