# JavaScript - dataset En JavaScript, l'attribut `dataset` est utilisé pour accéder aux attributs `data-*` d'un élément HTML. Ces attributs `data-*` permettent de stocker des informations supplémentaires sur un élément de manière standardisée, sans avoir recours à des hacks tels que l'utilisation de classes ou d'ID supplémentaires. Voici quelques points clés concernant `dataset` en JavaScript : 1. **Accès aux attributs `data-*`** : - L'attribut `dataset` d'un élément HTML renvoie un objet `DOMStringMap`. Chaque attribut `data-*` est accessible en tant que propriété de cet objet. - Les noms des attributs `data-*` sont convertis en camelCase. Par exemple, `data-example-name` devient `element.dataset.exampleName`. 2. **Lecture et écriture** : - Vous pouvez lire la valeur d'un attribut `data-*` en accédant à la propriété correspondante de `dataset`. - Vous pouvez également modifier la valeur d'un attribut `data-*` en modifiant la propriété correspondante. 3. **Exemple d'utilisation** : - HTML : `<div id="myDiv" data-user-id="12345" data-user-name="JohnDoe"></div>` - JavaScript : ```javascript let div = document.getElementById('myDiv'); console.log(div.dataset.userId); // Affiche "12345" console.log(div.dataset.userName); // Affiche "JohnDoe" // Modification des valeurs div.dataset.userId = '67890'; console.log(div.dataset.userId); // Affiche "67890" ``` 4. **Utilisations courantes** : - Les attributs `data-*` sont souvent utilisés pour stocker des informations supplémentaires nécessaires pour le JavaScript, sans polluer le balisage HTML avec des données non standard. - Ils sont particulièrement utiles dans les bibliothèques et frameworks JavaScript, ainsi que pour les interactions avec le DOM, comme dans les cas de manipulation dynamique des éléments. 5. **Compatibilité** : - `dataset` est largement supporté dans les navigateurs modernes, mais il peut ne pas être disponible dans les anciennes versions d'Internet Explorer (IE10 et versions antérieures). 6. **Sécurité** : - Comme pour toute interaction avec le contenu du DOM, il est important de valider et de nettoyer les données obtenues via `dataset` pour éviter les failles de sécurité, telles que les attaques de type cross-site scripting (XSS). En résumé, `dataset` est un outil puissant pour travailler avec des données personnalisées dans le DOM, permettant une manipulation plus propre et plus lisible des données au sein du HTML.