Maison interface Web Questions et réponses frontales Quelles sont les utilisations des attributs personnalisés HTML5 ?

Quelles sont les utilisations des attributs personnalisés HTML5 ?

Jul 29, 2022 pm 04:35 PM
html5 自定义属性 data-*

L'attribut personnalisé "data-*" html5 est utilisé pour stocker des données personnalisées appliquées derrière une page privée, et les données personnalisées peuvent donner à la page une meilleure expérience interactive (pas besoin d'utiliser Ajax ou d'interroger des données sur le serveur), syntaxe "< ;element data-*="Spécifier la valeur de l'attribut (une chaîne)">"; L'attribut "data-*" se compose de deux parties : 1. Le nom de l'attribut ne doit pas contenir de lettres majuscules et doit être après "data-" au moins un caractère ; 2. Valeur d'attribut, qui peut être n'importe quelle chaîne.

Quelles sont les utilisations des attributs personnalisés HTML5 ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, version HTML5, ordinateur Dell G3.

html5 attributs personnalisés<code><span style="font-size: 18px;">data-*</span>

data-* 属性用于存储私有页面后应用的自定义数据,是 HTML5 新增的属性。

<element data-*="somevalue">
Copier après la connexion
  • somevalue:指定属性值 (一个字符串)

data-* 属性可以在所有的 HTML 元素中嵌入数据。

自定义的数据可以让页面拥有更好的交互体验(不需要使用 Ajax 或去服务端查询数据)。

data-* 属性由以下两部分组成:

  • 属性名不要包含大写字母,在 data- 后必须至少有一个字符。

  • 属性值,该属性值可以是任何字符串

注意: 自定义属性前缀 "data-" 会被客户端忽略。

利用dataset可以获取data-属性构造的对象,该方法目前只能在Chrome 、Opera等部分浏览器中实现,其他浏览器如需获取其属性值需要使用getAttribute和setAttribute来操作。

只要在标签里面以”data-”为前缀定义我们的自定义属性就可以用来进行一些数据的存放。

<div id="myDiv" data-attribute="value">在标签里设置H5新增的自定义属性</div>
Copier après la connexion
Copier après la connexion

这个data属性还可以应用在CSS中,前提是你的浏览器支持after伪类,以及content的attr属性(低版本的IE不支持):

<div id="myDiv" data-attribute="属性值">data属性应用于CSS中</div>
Copier après la connexion
#myDiv{
  position: ralative;
}
 
#myDiv:hover:after{
  position: absolute;
  top: 0px;
  left: 0px;
  content: attr(data-attribute);
  color: red;
}
Copier après la connexion

如何获取data属性的值?

<div id="myDiv" data-attribute="value">在标签里设置H5新增的自定义属性</div>
Copier après la connexion
Copier après la connexion

1、使用getAttribute来获取

var myDiv = document.getElementById("myDiv");
var theValue = myDiv.getAttribute("user-defined-attribute");
Copier après la connexion

2、使用Html5自定义属性对象Dataset来获取

var myDiv = document.getElementById("myDiv");
 
var theValue = myDiv.dataset.attribute;
Copier après la connexion

注意:带连字符连接的名称在使用的时候需要命名驼峰化,即大小写组合书写,这与应用元素的style对象类似,dom.style.borderColor。例如data属性为data-other-attribute,则我们要获取相应的值可以使用:myp.dataset.otherAttribute

如果Html元素定义了多个自定义属性,如何获取?

<div id="myDiv" data-attribute1="value" data-attribute2="value2" data-attribute3="value3">在标签里设置多个自定义属性</div>
Copier après la connexion

1、使用循环遍历

 var myDiv = document.getElementById("myDiv");
var attrs = myDiv.attributes,
var expense = {}, i, j;  
for (i = 0, j = attrs.length; i < j; i++) {
  if(attrs[i].name.substring(0, 5) == &#39;data-&#39;) {
    expense[attrs[i].name.substring(5)] = attrs[i].value;
  }
}
Copier après la connexion

2、使用dataset属性

var expense = document.getElementById(&#39;myDiv&#39;).dataset;
Copier après la connexion

注:dataset并不是典型意义上的JavaScript对象,而是个DOMStringMap对象DOMStringMap是HTML5一种新的含有多个名-值对的交互变量

1)、让所有的自定义的属性值塞到一个数组中

var chartInput = [];
 
for (var item in expense) {
  chartInput.push(expense[item]);
}
Copier après la connexion

2)、删掉一个data属性

delete myDiv.dataset.attribute;
Copier après la connexion

3、增加一个data属性

myDiv.dataset.attribute4 = &#39;value4&#39;;
Copier après la connexion

dataset的兼容性处理

如果浏览器不支持dataset,有必要做一下兼容处理:

if(myDiv.dataset) {
  myDiv.dataset.attribute = "valueXX"; // 设置自定义属性
  var theValue = myDiv.dataset.attribute; // 获取自定义属性
} else {
  myDiv.setAttribute("data-attribute", "valueXX"); // 设置自定义属性
  var theValue = myDiv.getAttribute("data-attribute"); // 获取自定义属性
}
Copier après la connexion

结语:

使用dataset操作data 要比使用getAttribute速度稍微慢些,虽然使用datasetdata-*

Les attributs data-* sont utilisés pour stocker des données personnalisées appliquées derrière des pages privées, c'est un nouvel attribut en HTML5. rrreee

data-* Les attributs peuvent intégrer des données dans tous les éléments HTML. 🎜🎜Les données personnalisées peuvent donner à la page une meilleure expérience interactive (pas besoin d'utiliser Ajax ou d'interroger des données sur le serveur). 🎜🎜data-* L'attribut se compose des deux parties suivantes : 🎜
  • 🎜Le nom de l'attribut ne doit pas contenir de lettres majuscules, après les données- Il doit y avoir au moins un caractère. 🎜
  • 🎜Valeur d'attribut, qui peut être n'importe quelle chaîne🎜
🎜Remarque : Le préfixe d'attribut personnalisé "data-" sera ignoré par le client. 🎜🎜Vous pouvez utiliser un ensemble de données pour obtenir l'objet construit par data-attribute. Cette méthode n'est actuellement implémentée que dans certains navigateurs tels que Chrome et Opera. Si d'autres navigateurs ont besoin d'obtenir leurs valeurs d'attribut, ils doivent utiliser getAttribute et setAttribute pour fonctionner. . 🎜🎜Tant que nous définissons nos attributs personnalisés avec "data-" comme préfixe dans la balise, il peut être utilisé pour stocker certaines données. 🎜rrreee🎜Cet attribut data peut également être appliqué en CSS, à condition que votre navigateur supporte la pseudo-classe after et l'attribut attr de content (les versions inférieures d'IE ne le supportent pas) : 🎜rrreeerrreee🎜🎜Comment obtenir la valeur de l'attribut data ? 🎜rrreee🎜1. Utilisez getAttribute pour obtenir 🎜rrreee🎜2. Utilisez l'objet d'attribut personnalisé HTML5 pour obtenir 🎜rrreee🎜Remarque : les noms avec des traits d'union doivent être mis en majuscules et minuscules lorsqu'ils sont utilisés, c'est-à-dire une écriture combinée en majuscules et en minuscules. , qui est similaire à l'objet style de l'élément appliqué, dom.style.borderColor. Par exemple, l'attribut data est data-other-attribute Si nous voulons obtenir la valeur correspondante, nous pouvons utiliser : myp.dataset.otherAttribute🎜🎜🎜Si l'élément Html définit plusieurs attributs personnalisés, comment les obtenir ? 🎜rrreee🎜1. Utilisez le parcours de boucle🎜rrreee🎜2. Utilisez l'attribut dataset🎜rrreee🎜Remarque : dataset n'est pas un objet JavaScript au sens typique, mais il s'agit d'un objet DOMStringMap, DOMStringMap est une nouvelle variable interactive en HTML5 qui contient plusieurs paires nom-valeur🎜🎜1), permettant à toutes les valeurs d'attribut personnalisées d'être inséré dans un tableau🎜rrreee🎜2), supprimez un attribut de données🎜rrreee🎜3 Ajoutez un attribut de données🎜rrreee🎜🎜traitement de compatibilité des ensembles de données🎜🎜si le navigateur ne le prend pas en charge. Dans cet ensemble de données, il est nécessaire de faire quelques traitements de compatibilité : 🎜rrreee🎜🎜Conclusion : 🎜🎜Utiliser dataset pour exploiter les données est préférable à l'utilisation de getAttribute La vitesse est légèrement plus lente. Bien que l'utilisation de dataset ne puisse pas améliorer les performances du code, elle est très utile pour un code concis et pour améliorer la lisibilité et la maintenabilité du code. 🎜🎜【Cours recommandés : 🎜Tutoriel vidéo HTML5🎜, 🎜web front-end🎜】🎜

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 de ce site Web
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

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 semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Bordure de tableau en HTML Bordure de tableau en HTML Sep 04, 2024 pm 04:49 PM

Guide de la bordure de tableau en HTML. Nous discutons ici de plusieurs façons de définir une bordure de tableau avec des exemples de bordure de tableau en HTML.

Marge gauche HTML Marge gauche HTML Sep 04, 2024 pm 04:48 PM

Guide de la marge HTML gauche. Nous discutons ici d'un bref aperçu de la marge gauche HTML et de ses exemples ainsi que de son implémentation de code.

Tableau imbriqué en HTML Tableau imbriqué en HTML Sep 04, 2024 pm 04:49 PM

Ceci est un guide des tableaux imbriqués en HTML. Nous discutons ici de la façon de créer un tableau dans le tableau ainsi que des exemples respectifs.

Disposition du tableau HTML Disposition du tableau HTML Sep 04, 2024 pm 04:54 PM

Guide de mise en page des tableaux HTML. Nous discutons ici des valeurs de la mise en page des tableaux HTML ainsi que des exemples et des résultats en détail.

Espace réservé d'entrée HTML Espace réservé d'entrée HTML Sep 04, 2024 pm 04:54 PM

Guide de l'espace réservé de saisie HTML. Nous discutons ici des exemples d'espace réservé d'entrée HTML ainsi que des codes et des sorties.

Liste ordonnée HTML Liste ordonnée HTML Sep 04, 2024 pm 04:43 PM

Guide de la liste ordonnée HTML. Ici, nous discutons également de l'introduction de la liste et des types HTML ordonnés ainsi que de leur exemple respectivement.

Déplacer du texte en HTML Déplacer du texte en HTML Sep 04, 2024 pm 04:45 PM

Guide pour déplacer du texte en HTML. Nous discutons ici d'une introduction, du fonctionnement des balises de sélection avec la syntaxe et des exemples à implémenter.

Bouton HTML onclick Bouton HTML onclick Sep 04, 2024 pm 04:49 PM

Guide du bouton HTML onclick. Nous discutons ici de leur introduction, de leur fonctionnement, des exemples et de l'événement onclick dans divers événements respectivement.

See all articles