TL; DR摘要:使用setAttribute而不是setAttributeNSSVG元素是否合适?
详细信息:
考虑嵌入在XHTML5中的此SVG图像,该图像使用JavaScript动态创建和向图形添加元素:http://phrogz.net/svg/svg_in_xhtml5.xhtml
<svg>必须使用JavaScript创建由JavaScript创建并附加到元素的SVG元素.
var el = document.createElementNS("http://www.w3.org/2000/svg",'foo');
Run Code Online (Sandbox Code Playgroud)
...代替...
var el = document.createElement('foo');
Run Code Online (Sandbox Code Playgroud)
...以便将它们视为SVG元素并在浏览器中呈现.这是合理的,也是可以理解的.但是,根据这个页面,我还应该使用...设置这些元素的属性.
el.setAttributeNS( null, 'foo', 'bar' );
Run Code Online (Sandbox Code Playgroud)
...而不是我目前使用的代码:
el.setAttribute( 'foo', 'bar' );
Run Code Online (Sandbox Code Playgroud)
我在做什么适用于Chrome,Safari和Firefox.我有合法代码 - 它是否等同于推荐 - 或者它是否因为浏览器的宽松性而恰好工作,我必须使用setAttributeNS它才有效?