Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Element : méthode getAttributeNS()
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La méthodegetAttributeNS(), associée à l'interfaceElement, renvoie la valeur, sous la forme d'une chaîne de caractères, de l'attribut avec l'espace de noms et le nom donnés. Si l'attribut nommé n'existe pas, cette valeur sera soitnull, soit"" (une chaîne vide) ; voir la sectionNotes pour plus de détails.
Si vous manipulez des documents HTML et n'avez pas besoin de restreindre à un espace de noms donné, vous pouvez utiliser la méthodegetAttribute() à la place.
Dans cet article
Syntaxe
getAttributeNS(namespace, name)Paramètres
Valeur de retour
Une chaîne de caractères avec la valeur de l'attribut recherché. Si l'attribut n'existe pas, le résultat estnull.
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, carnull a plus de sens. La spécification DOM4 indique maintenant que cette méthode devrait retournernull pour les attributs inexistants.
Exemples
Le document SVG suivant utilise une valeur d'attributfoo d'un espace de noms spécifique :
<svg xmlns="http://www.w3.org/2000/svg" xmlns:test="http://www.example.com/2014/test" width="40" height="40"> <circle cx="12" cy="12" r="10" stroke="#444" stroke-width="2" fill="none" test:foo="Hello namespaced attribute!"/> <script> const ns = 'http://www.example.com/2014/test'; const circle = document.getElementById('target'); console.log(`attribute test:foo: "${circle.getAttributeNS(ns, 'foo')}"`); </script></svg>Dans un document HTML, il faut utilisertest:foo pour accéder à l'attribut, car les espaces de noms ne sont pas pris en charge.
<!doctype html><html lang="en-US"> <head> <meta charset="UTF-8" /> <title>getAttributeNS() test page</title> </head> <body> <svg xmlns="http://www.w3.org/2000/svg" xmlns:test="http://www.example.com/2014/test" width="40" height="40"> <circle cx="12" cy="12" r="10" stroke="#444" stroke-width="2" fill="none" test:foo="Foo value" /> </svg> <script> const ns = "http://www.example.com/2014/test"; const circle = document.getElementById("target"); console.log(`Attribute value: ${circle.getAttribute("test:foo")}`); </script> </body></html>Notes
La méthodegetAttributeNS diffère degetAttribute() 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"test".
Avant la spécification DOM4, cette méthode était spécifiée pour renvoyer une chaîne vide plutôt quenull pour les attributs inexistants. Cependant, la plupart des navigateurs ont renvoyénull. À partir de DOM4, la spécification indique de retournernull dans ces cas. Cependant, certains navigateurs plus anciens renvoient une chaîne vide. Pour cette raison, vous devez utiliserhasAttributeNS() pour vérifier l'existence d'un attribut avant d'appelergetAttributeNS() s'il est possible que l'attribut demandé n'existe pas sur l'élément spécifié.
Spécifications
| Specification |
|---|
| DOM> # ref-for-dom-element-getattributens①> |