TL; DR Summary : Правильно ли использовать setAttribute
вместо setAttributeNS
для элементов SVG?
подробности :
Рассмотрим изображение SVG, встроенное в XHTML5, которое использует JavaScript для динамического создания и добавления элементов в чертеж: http://phrogz.net/svg/svg_in_xhtml5.xhtml
Элементы SVG, созданные JavaScript и добавленные к элементу <svg>
, должны быть созданы с использованием ...
var el = document.createElementNS("http://www.w3.org/2000/svg",'foo');
... вместо ...
var el = document.createElement('foo');
... для того, чтобы они рассматривались как элементы SVG и отображались в браузере. Это разумно и понятно. Однако, согласно этой странице я должен также установить атрибуты этих элементов, используя ...
el.setAttributeNS( null, 'foo', 'bar' );
... вместо кода, который я сейчас использую:
el.setAttribute( 'foo', 'bar' );
То, что я делаю, работает в Chrome, Safari и Firefox. Это то, что у меня есть юридический код - это эквивалентно рекомендации - или просто случается , чтобы работать из-за разрешающей природы браузеров, и я должен вместо этого использовать setAttributeNS
действительный