element.getAttribute

getAttribute renvoie la valeur d'un attribut donné de l'élément spécifié. Si l'attribut n'existe pas, la valeur renvoyée sera soit null soit "" (une chaine vide) ; voir la section Attributs inexistants pour plus de détails.

Syntaxe

js
let attribut = element.getAttribute(nom_attribut);

  • attribut est une chaine contenant la valeur de l'attribut nom_attribut.
  • nom_attribut est le nom de l'attribut dont on désire connaitre la valeur.

Exemple

Soit l'HTML :

html
<!-- exemple de div en HTML -->
<div id="div1">Hi Champ!</div>

Exemple de JavaScript :

js
const div1 = document.getElementById("div1");
//=> <div id="div1">Hi Champ!</div>

const attributID = div1.getAttribute("id");
//=> "div1"

const alignement = div1.getAttribute("align");
//=> null

Description

Sensibilité à la casse

Le paramètre nom_attribut est généralement sensible à la casse, mais ne l'est pas lorsqu'il est utilisé sur des éléments HTML.

Attributs inexistants

À peu près tous les navigateurs (Firefox, Internet Explorer, Opera, Safari, Konqueror et iCab, sans que cette liste soit exhaustive) renvoient null lorsque l'attribut demandé n'existe pas sur l'élément spécifié. La spécification DOM indique cependant que la valeur de retour correcte dans ce cas est en fait la chaine vide "", et certaines implémentation DOM auront ce comportement. Par conséquent, vous devriez utiliser element.hasAttribute() pour vérifier l'existence d'un attribut avant d'appeler getAttribute() s'il est possible que l'attribut n'existe pas sur l'élément spécifié.

Récupération de nonces

Pour des raisons de sécurité, les nonces CSP des sources autres que des scripts, telles que les feuilles de style CSS, et les appels .getAttribute("nonce") sont interdits.

js
let nonce = script.getAttribute("nonce");
// renvoie une chaine vide

Plutôt que de tenter de lire le nonce via l'attribut, utilisez la propriété nonce :

js
let nonce = script.nonce;

Spécifications

Specification
DOM Standard
# ref-for-dom-element-getattribute①

Compatibilité des navigateurs

BCD tables only load in the browser