2013-05-28 4 views
1

Как изменить файл SVG после его загрузки браузером, желательно через jquery? Простым примером может быть нажатие кнопки и изменение цвета элемента SVG. Любая документация также поможет.Изменение SVG после его загрузки

EDIT: Эта ссылка очень помогли: w3.org/Graphics/SVG/IG/resources/svgprimer.html#SVG_in_HTML

+1

http://www.w3.org/TR/SVG11/ целая SVG спецификации и http://www.w3.org/TR/SVG11/svgdom .html - это SVG DOM. – Crontab

+0

Есть ли простые примеры? Должен ли я использовать jquery.svg? – John

ответ

1

Вы не можете «изменить» файлы SVG (за исключением, изменяя их сервер). SVG-файлы определяют коллекцию объектов SVG, каждый из которых может быть идентифицирован с идентификатором, если хотите. К этим объектам можно манипулировать JavaScript, как и любой элемент DOM (например, setAttribute и т. Д.). Проверьте http://www.w3.org/TR/SVG11/types.html#BasicDOMInterfaces на интерфейсы DOM. Обратите внимание, что SVGElement расширяет элемент, который является основным типом элемента DOM.

EDIT: простой пример:

<html> 
<body> 
    <input type="button" onclick="doSVGThing()" value="change"> 
    <svg xmlns="http://www.w3.org/2000/svg" 
     xmlns:xlink="http://www.w3.org/1999/xlink"> 
    <rect id="aRect" x="10" y="10" height="100" width="100" 
      style="stroke:#ff0000; fill: #9999ff"></rect> 
</svg> 
    <script type="text/javascript"> 
     function doSVGThing() { 
      var r = document.getElementById('aRect'); 
      r.setAttribute('style', 'stroke: #00ff00; fill: #99ff99'); 
     } 
    </script> 
</body> 
</html> 
+0

Значит, вы не можете изменить цвет с помощью javascript или jquery? – John

+0

Нет, наоборот. Ссылка показывает интерфейс DOM, который вы вызываете с помощью JavaScript. Вы можете использовать JavaScript для управления любым свойством объекта SVG, который включает цвет. –

+0

Есть ли простой, простой код, иллюстрирующий, как загрузить файл svg и манипулировать элементом или двумя? – John