2014-10-28 3 views
1

Я разрабатываю класс JavaScript для отображения всех объектов SVG, но когда я создаю элемент «изображение», браузер не отображает его. Хотя, если я копирую сгенерированный код и помещаю его в другой документ, изображение отображается.Сгенерировано изображение SVG не отображается

Когда я искал изображение с помощью инспектора Firebug, объект появляется, но изображение не отображается.

Я создал объект с помощью appendChild(), setAttribute() и setAttributeNS()

Это сгенерированный код:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="100%" width="100%" > 
<image width="50" height="50" xlink:href="logo.png" y="20" x="20" id="d"></image> 
</svg> 

Что я делаю неправильно?

+2

Покажите нам свой код для создания SVG. Используете ли вы 'createElementNS()' при создании элементов SVG? –

ответ

1

Проблема заключалась в пространствах имен. Это правильная форма для создания изображения динамически:

image.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', 'flower.png'); 

Более знаки В можно найти на MDN's 'Namespaces Crash Course'.

Смежные вопросы