


Comment vous pouvez utiliser les attributs de données personnalisés HTML5 et pourquoi
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()
etsetAttribute()
, d'attributs de méthodes,dataset
ou de méthodesdata()
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
<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
<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
restaurant.setAttribute("data-owner-name", "someName");
data-distance
Vous pouvez modifier la valeur de son attribut
<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
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!

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.

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.

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 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.

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 à 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...

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 ...

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 ...


Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

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

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
Recommandé : version Win, prend en charge les invites de code !

Dreamweaver CS6
Outils de développement Web visuel