Résumé TL;DR : Est-il approprié d'utiliser setAttribute
au lieu de setAttributeNS
pour les éléments SVG ?
Détails :
Considérez cette image SVG intégrée dans du XHTML5 qui utilise JavaScript pour créer et ajouter dynamiquement des éléments au dessin : http://phrogz.net/svg/svg_in_xhtml5.xhtml
Les éléments SVG créés par JavaScript et ajoutés à l'écran de l'utilisateur. <svg>
doit être créé en utilisant...
var el = document.createElementNS("http://www.w3.org/2000/svg",'foo');
...au lieu de...
var el = document.createElement('foo');
...afin qu'elles soient traitées comme des éléments SVG et rendues dans le navigateur. Ceci est raisonnable et compréhensible. Cependant, selon cette page Je devrais également définir les attributs de ces éléments en utilisant...
el.setAttributeNS( null, 'foo', 'bar' );
...au lieu du code que j'utilise actuellement :
el.setAttribute( 'foo', 'bar' );
Ce que je fais fonctionne dans Chrome, Safari et Firefox. Voici ce que j'ai code juridique Est-ce que c'est équivalent à la recommandation ou est-ce que c'est juste se produire ne fonctionne pas en raison de la nature permissive des navigateurs et je dois plutôt utiliser setAttributeNS
pour être valide ?