--- title: data-* slug: Web/HTML/Attributs_universels/data-* tags: - Attribut - Attribut universel - HTML - Reference translation_of: Web/HTML/Global_attributes/data-* ---
Les attributs universels data-*
forment une classe d'attributs, appelés attributs de données (data attributes). Ils permettent d'échanger des données propriétaire entre le HTML et la représentation du DOM, qu'on peut manipuler avec des scripts.
De tels attributs sont disponibles via l'interface {{domxref("HTMLElement")}} de l'élément pour lequel l'attribut est utilisé. La propriété {{domxref("HTMLElement.dataset")}} permet d'accéder à l'attribut.
Ici, l'astérisque (*
) peut être remplacée par n'importe quel nom valide selon les règles appliquées aux noms XML et en respectant les contraintes suivantes :
xml
, quelle que soit la casse utilisée pour les différentes lettresU+003A
)A
à Z
).La propriété {{domxref("HTMLElement.dataset")}} est un objet {{domxref("StringMap")}} et la valeur d'un attribut de donnée nommé data-test-valeur
sera accessible via HTMLElement.dataset.testValeur
car les tirets (U+002D
) sont remplacés par la majuscule de la lettre suivante (CamelCase).
Lorsqu'on ajoute des attributs de données data-*
, on peut utiliser les éléments HTML classiques afin d'en faire des objets complexes et puissants. Ainsi, un sprite d'un vaisseau spatial dans un jeu peut être modélisé via un élément {{HTMLElement("img")}} auquel on associe un attribut class
et plusieurs attributs de données sous la forme data-*
.
<img class="spaceship cruiserX3" src="shipX3.png" data-ship-id="324" data-weapons="laserI laserII" data-x="414354" data-y="85160" data-z="31940" onclick="spaceships[this.dataset.shipId].blasted()"> </img>
Pour un tutoriel plus avancé à propos des attributs de données HTML, lire l'article Manipuler les attributs de données.
Spécification | État | Commentaires |
---|---|---|
{{SpecName('HTML WHATWG', "dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes", "data-*")}} | {{Spec2('HTML WHATWG')}} | Pas de modification depuis la dernière dérivation, {{SpecName('HTML5.1')}} |
{{SpecName('HTML5.1', "dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes", "data-*")}} | {{Spec2('HTML5.1')}} | Dérivée de {{SpecName('HTML WHATWG')}}, pas de changement depuis {{SpecName('HTML5 W3C')}} |
{{SpecName('HTML5 W3C', "dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes", "data-*")}} | {{Spec2('HTML5 W3C')}} | Dérivée de {{SpecName('HTML WHATWG')}}, définition initiale. |
{{Compat("html.global_attributes.data_attributes")}}