recherche
Maisoninterface Webjs tutorielComment vous pouvez utiliser les attributs de données personnalisés HTML5 et pourquoi

How You Can Use HTML5 Custom Data Attributes and Why

Les attributs de données personnalisés HTML5 permettent aux développeurs de stocker des données personnalisées dans des éléments HTML. Ils fournissent un moyen d'ajouter des informations supplémentaires aux éléments HTML qui peuvent être utilisés par JavaScript ou CSS, améliorant ainsi les fonctionnalités de la page Web. Cet article expliquera ce que sont les attributs de données et à quoi ils servent.

Points clés

  • Les attributs de données personnalisés HTML5 permettent aux développeurs de stocker des informations supplémentaires sur les éléments HTML qui peuvent être accessibles et utilisés par JavaScript ou CSS, améliorant ainsi les fonctionnalités de la page Web.
  • Les attributs de données commencent toujours par "data-", peuvent être utilisés pour styliser des éléments dans CSS via le sélecteur d'attribut et peuvent afficher des informations à l'utilisateur via la fonction attr().
  • Dans JavaScript, les propriétés de données sont accessibles à l'aide de méthodes getAttribute() et setAttribute(), d'attributs de méthodes, dataset ou de méthodes data() jQuery.
  • Bien que les attributs de données personnalisés soient puissants, ils ne doivent être utilisés que s'il n'y a pas d'autres éléments ou attributs HTML appropriés et ne doivent pas être utilisés pour stocker de grandes quantités de données.

Pourquoi utiliser les propriétés de données personnalisées?

Nous devons souvent stocker des informations associées à différents éléments DOM. Ces informations peuvent ne pas être importantes pour les lecteurs, mais être en mesure d'y accéder facilement facilitera nos efforts de développement. Par exemple, supposons que vous répertoriez différents restaurants sur une page Web. Avant HTML5, si vous souhaitez stocker des informations telles que le type de nourriture fournie par un restaurant ou jusqu'où ils sont des visiteurs, vous utiliserez l'attribut class de HTML. Et si vous avez également besoin de stocker votre identifiant de restaurant pour consulter le restaurant spécifique que l'utilisateur souhaite visiter? Voici quelques questions sur les méthodes basées sur l'attribut HTML class:

  • HTML class Les propriétés ne sont pas utilisées pour stocker ces données. Son objectif principal est de permettre aux développeurs d'attribuer des informations de style à un ensemble d'éléments.
  • chaque fois que l'ajout d'un message, une nouvelle classe est nécessaire pour ajouter à l'élément. Cela rend l'analyse des données en JavaScript pour rendre les informations requises encore plus difficiles.
  • Supposons que le nom de classe donné commence par un nombre. Si vous décidez de styliser l'élément plus tard en fonction des données du nom de la classe, vous devez échapper aux numéros ou utiliser le sélecteur d'attribut dans la feuille de style.

Pour résoudre ces problèmes, HTML5 introduit des propriétés de données personnalisées. Tous les attributs d'élément dont les noms commencent par data- sont des attributs de données. Vous pouvez également utiliser ces attributs de données pour styliser des éléments. Ensuite, foulons les bases des propriétés de données et apprenons à accéder à leurs valeurs dans CSS et JavaScript.

Syntaxe HTML

Comme mentionné précédemment, le nom de l'attribut de données commencera toujours par data-. Voici un exemple:

<li data-type="veg" data-distance="2miles" data-identifier="10318">Salad King</li>

Vous pouvez désormais utiliser ces attributs de données pour rechercher et trier les restaurants des visiteurs. Par exemple, vous pouvez maintenant leur montrer tous les restaurants végétariens à une certaine distance. En plus du préfixe data-, les noms des attributs de données personnalisés valides ne peuvent contenir que des lettres, des nombres, des traits de gamme (-), des points (.), Des colons (:), ou des soulignements (_). Il ne peut pas contenir de lettres majuscules. Lorsque vous utilisez des propriétés de données, vous devez faire attention à deux choses. Tout d'abord, les données stockées dans ces propriétés doivent être de type de chaîne. Tout contenu qui peut être codé dans les chaînes peut également être stocké dans les propriétés de données. Toutes les conversions de type doivent être effectuées dans JavaScript. Deuxièmement, les attributs de données ne doivent être utilisés que s'il n'y a pas d'autres éléments ou attributs HTML appropriés. Par exemple, il est inapproprié de stocker la classe d'un élément dans l'attribut data-class. Un élément peut avoir n'importe quel nombre d'attributs de données, ainsi que toute valeur que vous souhaitez.

Attributs de données et CSS

Vous pouvez utiliser le sélecteur d'attribut pour styliser des éléments dans CSS à l'aide d'attributs de données. Vous pouvez également utiliser la fonction attr() pour afficher des informations stockées dans les propriétés de données à l'utilisateur (dans les info-bullets ou d'autres manières).

Définissez le style élément

Retour à notre exemple de restaurant, vous pouvez définir l'arrière-plan du restaurant de différentes manières en utilisant le sélecteur de propriétés, incité l'utilisateur pour le type de restaurant ou sa distance avec l'utilisateur. Voici un exemple:

li[data-type='veg'] {
  background: #8BC34A;
}

li[data-type='french'] {
  background: #3F51B5;
}

Créer des info-bullets

Vous pouvez utiliser des info-bullets pour afficher des informations supplémentaires liées aux éléments à l'utilisateur. Je vous recommande d'utiliser cette méthode pour un prototypage rapide, plutôt que de produire des sites Web, pour la raison qu'au moins les info-bulleurs CSS uniquement ne sont pas entièrement accessibles. Les informations que vous souhaitez afficher peuvent être stockées dans l'attribut data-tooltip.

<span data-tooltip="简单的解释">Word</span>

Vous pouvez ensuite utiliser le pseudo-élément ::before pour présenter les données à l'utilisateur.

span::before {
  content: attr(data-tooltip);
  //更多样式规则
}

span:hover::before {
  display: inline-block;
}

Utilisez JavaScript pour accéder aux attributs de données

Il existe trois façons d'accéder aux propriétés de données en JavaScript.

utiliser getAttribute et setAttribute

Vous pouvez utiliser getAttribute() et setAttribute() dans JavaScript pour obtenir et définir les valeurs de différents attributs de données. Si la propriété donnée n'existe pas, la méthode getAttribute retournera null ou une chaîne vide. Voici un exemple de la façon d'utiliser ces méthodes:

let restaurant = document.getElementById("restaurantId");
let ratings = restaurant.getAttribute("data-ratings");

Vous pouvez utiliser la méthode setAttribute pour modifier la valeur d'une propriété existante ou ajouter une nouvelle propriété.

restaurant.setAttribute("data-owner-name", "someName");

Utiliser dataset Propriétés

Une façon plus simple d'accéder aux propriétés de données consiste à utiliser les propriétés dataset. Cette propriété renvoie un objet DOMStringMap contenant une entrée pour chaque propriété de données personnalisée. Il y a quelques choses que vous devez être conscientes lors de l'utilisation de l'attribut dataset. Il faut trois étapes pour convertir l'attribut de données personnalisé à la clé DOMStringMap:

  • Supprimez le préfixe data- du nom d'attribut
  • Retirez n'importe quel trait d'union suivi des lettres minuscules du nom et convertissez les lettres suivantes en majuscules
  • D'autres personnages resteront les mêmes. Cela signifie que tout trait d'union suivi de lettres minuscules restera également les mêmes.

element.dataset.keyname Les propriétés sont ensuite accessibles en utilisant le nom de chameau stocké dans l'objet en tant que clé, comme element.dataset[keyname]. Une autre façon d'accéder aux propriétés consiste à utiliser la notation du support carré, comme

. Considérez le HTML suivant:
<li data-type="veg" data-distance="2miles" data-identifier="10318">Salad King</li>

Voici quelques exemples:
li[data-type='veg'] {
  background: #8BC34A;
}

li[data-type='french'] {
  background: #3F51B5;
}

Cette méthode est désormais prise en charge dans tous les principaux navigateurs et vous devez les utiliser d'abord pour accéder aux propriétés de données personnalisées.

en utilisant jQuery

data() Vous pouvez également accéder aux propriétés de données d'un élément à l'aide de la méthode

de JQuery. Avant JQuery version 1.6, vous devez accéder aux propriétés de données en utilisant le code suivant:
<span data-tooltip="简单的解释">Word</span>

À partir de la version 1.6, JQuery commence à utiliser les versions Camel des propriétés de données. Vous pouvez maintenant faire de même avec le code suivant:
span::before {
  content: attr(data-tooltip);
  //更多样式规则
}

span:hover::before {
  display: inline-block;
}

null Vous devez savoir que jQuery tentera également de convertir en interne les chaînes obtenues à partir des propriétés de données en types appropriés tels que les nombres, les booléens, les objets, les tableaux et

.
let restaurant = document.getElementById("restaurantId");
let ratings = restaurant.getAttribute("data-ratings");

attr() Si vous voulez que jQuery obtienne la valeur obtenue à partir de l'attribut de données en tant que chaîne sans essayer de la convertir en un autre type, vous devez utiliser la méthode

de JQuery. JQuery récupère sa valeur uniquement lorsque l'attribut de données est accessible pour la première fois. Ne plus accéder ni ne modifier les propriétés de données. Toutes les modifications que vous apportez à ces propriétés sont apportées en interne et ne sont accessibles qu'en jQuery. Supposons que vous fonctionnez sur les attributs de données de la liste suivante élément:
restaurant.setAttribute("data-owner-name", "someName");

data-distance Vous pouvez modifier la valeur de son attribut

en utilisant le code suivant:
<li data-type="veg" data-distance="2miles" data-identifier="10318" data-owner-name="someName">Salad King</li>

data-distance Comme vous pouvez le voir, l'accès à la valeur de l'attribut

à l'aide de JavaScript natif (non-jQuery) fournira toujours les anciens résultats.

Conclusion

Dans ce tutoriel, j'ai couvert toutes les choses importantes sur les propriétés de données HTML5. En plus de créer des info-bulles et des éléments de style à l'aide du sélecteur d'attribut, vous pouvez également utiliser les propriétés de données pour stocker et afficher d'autres données aux utilisateurs, telles que les notifications sur les messages non lus, etc.

(La section FAQ doit être ajoutée ici, le contenu est cohérent avec la partie FAQ dans le texte d'entrée, mais l'expression du langage peut être plus raffinée. Pour éviter la duplication, j'omet cette partie.)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
JavaScript: Explorer la polyvalence d'un langage WebJavaScript: Explorer la polyvalence d'un langage WebApr 11, 2025 am 12:01 AM

JavaScript est le langage central du développement Web moderne et est largement utilisé pour sa diversité et sa flexibilité. 1) Développement frontal: construire des pages Web dynamiques et des applications à une seule page via les opérations DOM et les cadres modernes (tels que React, Vue.js, Angular). 2) Développement côté serveur: Node.js utilise un modèle d'E / S non bloquant pour gérer une concurrence élevée et des applications en temps réel. 3) Développement des applications mobiles et de bureau: le développement de la plate-forme multiplateuse est réalisé par réact noral et électron pour améliorer l'efficacité du développement.

L'évolution de JavaScript: tendances actuelles et perspectives d'avenirL'évolution de JavaScript: tendances actuelles et perspectives d'avenirApr 10, 2025 am 09:33 AM

Les dernières tendances de JavaScript incluent la montée en puissance de TypeScript, la popularité des frameworks et bibliothèques modernes et l'application de WebAssembly. Les prospects futurs couvrent des systèmes de type plus puissants, le développement du JavaScript côté serveur, l'expansion de l'intelligence artificielle et de l'apprentissage automatique, et le potentiel de l'informatique IoT et Edge.

Démystifier javascript: ce qu'il fait et pourquoi c'est importantDémystifier javascript: ce qu'il fait et pourquoi c'est importantApr 09, 2025 am 12:07 AM

JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

Python ou JavaScript est-il meilleur?Python ou JavaScript est-il meilleur?Apr 06, 2025 am 12:14 AM

Python est plus adapté à la science des données et à l'apprentissage automatique, tandis que JavaScript est plus adapté au développement frontal et complet. 1. Python est connu pour sa syntaxe concise et son écosystème de bibliothèque riche, et convient à l'analyse des données et au développement Web. 2. JavaScript est le cœur du développement frontal. Node.js prend en charge la programmation côté serveur et convient au développement complet.

Comment installer JavaScript?Comment installer JavaScript?Apr 05, 2025 am 12:16 AM

JavaScript ne nécessite pas d'installation car il est déjà intégré à des navigateurs modernes. Vous n'avez besoin que d'un éditeur de texte et d'un navigateur pour commencer. 1) Dans l'environnement du navigateur, exécutez-le en intégrant le fichier HTML via des balises. 2) Dans l'environnement Node.js, après avoir téléchargé et installé Node.js, exécutez le fichier JavaScript via la ligne de commande.

Comment envoyer des notifications avant le début d'une tâche en quartz?Comment envoyer des notifications avant le début d'une tâche en quartz?Apr 04, 2025 pm 09:24 PM

Comment envoyer à l'avance des notifications de tâches en quartz lors de l'utilisation du minuteur de quartz pour planifier une tâche, le temps d'exécution de la tâche est défini par l'expression CRON. Maintenant...

Dans JavaScript, comment obtenir des paramètres d'une fonction sur une chaîne prototype dans un constructeur?Dans JavaScript, comment obtenir des paramètres d'une fonction sur une chaîne prototype dans un constructeur?Apr 04, 2025 pm 09:21 PM

Comment obtenir les paramètres des fonctions sur les chaînes prototypes en JavaScript dans la programmation JavaScript, la compréhension et la manipulation des paramètres de fonction sur les chaînes prototypes est une tâche commune et importante ...

Quelle est la raison de la défaillance du déplacement de style dynamique Vue.js dans le WECHAT Mini Program WebView?Quelle est la raison de la défaillance du déplacement de style dynamique Vue.js dans le WECHAT Mini Program WebView?Apr 04, 2025 pm 09:18 PM

Analyse de la raison pour laquelle la défaillance du déplacement de style dynamique de l'utilisation de Vue.js dans la vue Web de l'applet WeChat utilise Vue.js ...

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel