MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey-2018-1

getAttributeNS renvoie la valeur chaîne de l'attribut avec l'espace de noms et le nom donnés. Si l'attribut nommé n'existe pas, cette valeur sera soit null, soit "" (une chaîne vide) ; voir Notes pour plus de détails.

Syntaxe

attrVal =element.getAttributeNS(namespace,name)

Paramètres

namespace
L'espace de noms dans lequel rechercher l'attribut spécifié.
name
Le nom de l'attribut à chercher.

Valeur retournée

La valeur de chaîne de caractères de l'attribut spécifié. Si  l'attribut n'existe pas, le résultat est null.

Note : Les versions antérieures de la spécification DOM avaient cette méthode décrite comme renvoyant une chaîne vide pour des attributs inexistants, mais elle n'était généralement pas implémentée de cette façon, car null a plus de sens. La spécification DOM4 indique maintenant que cette méthode devrait retourner null pour les attributs inexistants.

Exemples

<svg xmlns="http://www.w3.org/2000/svg"
    xmlns:test="http://www.example.com/2014/test" width="40" height="40">

  <circle id="target" cx="12" cy="12" r="10" stroke="#444"
      stroke-width="2" fill="none" test:foo="Hello namespaced attribute!"/>

  <script type="text/javascript">
    var ns = 'http://www.example.com/2014/test';
    var circle = document.getElementById( 'target' );

    console.log( 'attribute test:foo: "' + circle.getAttributeNS( ns, 'foo' ) + '"' );
  </script>
</svg>

Dans un document HTML5, l'attribut doit être accessible avec test:foo puisque les espaces de noms ne sont pas supportés.

<!DOCTYPE html>
<html>
<body>

<svg xmlns="http://www.w3.org/2000/svg"
    xmlns:test="http://www.example.com/2014/test" width="40" height="40">
  <circle id="target" cx="12" cy="12" r="10" stroke="#444" stroke-width="2"
      fill="none" test:foo="Foo value"/>
</svg>

<script type="text/javascript">
  var ns = 'http://www.example.com/2014/test';
  var circle = document.getElementById( 'target' );
  console.log('Attribute value: ' + circle.getAttribute('test:foo'));
</script>

</body>
</html>

Notes

Les espaces de noms sont uniquement pris en charge dans les documents XML, Les documents HTML5 doivent utiliser à la place getAttribute() .

La méthode getAttributeNS diffère de getAttribute() en ce qu'elle permet de spécifier les attributs faisant partie d'un espace de noms particulier, comme dans l'exemple précédent, où l'attribut fait partie d'un espace de noms fictif « specialspace » de mozilla.

Avant la spécification DOM4, cette méthode était spécifiée pour renvoyer une chaîne vide plutôt que null pour les attributs inexistants. Cependant, la plupart des navigateurs ont renvoyé null. À partir de DOM4, la spécification dit maintenant de retourner null. Cependant, certains navigateurs plus anciens renvoient une chaîne vide. Pour cette raison, vous devez utiliser hasAttributeNS () pour vérifier l'existence d'un attribut avant d'appeler getAttributeNS() s'il est possible que l'attribut demandé n'existe pas sur l'élément spécifié.

Méthodes DOM traitant des attributs sur les éléments :

DOM Level 1 (le plus courant) DOM Level 2 DOM Level 1 traitant directement les nœuds Attr DOM Level 2 traitant directement les nœuds Attr
setAttribute (DOM 1) setAttributeNS setAttributeNode setAttributeNodeNS
getAttribute (DOM 1) getAttributeNS getAttributeNode getAttributeNodeNS
hasAttribute (DOM 2) hasAttributeNS - -
removeAttribute (DOM 1) removeAttributeNS removeAttributeNode -

Spécification

Spécification Statut Commentaire
DOM
La définition de 'Element.getAttributeNS()' dans cette spécification.
Standard évolutif  
Document Object Model (DOM) Level 3 Core Specification
La définition de 'Element.getAttributeNS()' dans cette spécification.
Obsolete Specifie qu'une exception NOT_SUPPORTED_ERR  est levée si l'agent utilisateur ne supporte pas la fonctionnalité "XML". Spécifie également que null doit être passé pour n'avoir aucun espace de noms.
Document Object Model (DOM) Level 2 Core Specification
La définition de 'Element.getAttributeNS()' dans cette spécification.
Obsolete Définition initiale

Compatibilité des navigateurs

Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Oui) (Oui) (Oui)[1] (Oui) (Oui) (Oui)
Fonctionnalité Android Chrome for Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Oui) (Oui) (Oui) (Oui)[1] (Oui) (Oui) (Oui)

[1] À partir de Gecko 13.0 (Firefox 13.0 / Thunderbird 13.0 / SeaMonkey 2.10), null est toujours retourné à la place d'une chaîne vide, conformément à la spécification DOM4 . Auparavant, il existait des cas dans lesquels une chaîne vide pouvait être renvoyée.

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : loella16, fscholz, teoli, khalid32, Mgjbot, BenoitL, Fredchat
 Dernière mise à jour par : loella16,