


Wie Sie HTML5 -benutzerdefinierte Datenattribute verwenden k?nnen und warum
Feb 17, 2025 am 08:24 AM
HTML5 -Datenattribute k?nnen Entwicklern benutzerdefinierte Daten in HTML -Elementen speichern. Sie bieten eine M?glichkeit, HTML -Elementen zus?tzliche Informationen hinzuzufügen, die von JavaScript oder CSS verwendet werden k?nnen, wodurch die Webseitenfunktionalit?t verbessert werden kann. In diesem Artikel wird erl?utert, welche Datenattribute sind und wofür sie sind.
Schlüsselpunkte
- HTML5 -Datenattribute k?nnen Entwicklern zus?tzliche Informationen zu HTML -Elementen speichern, auf die von JavaScript oder CSS zugegriffen und verwendet werden kann, wodurch die Funktionen von Webseiten verbessert werden k?nnen.
- Datenattribute beginnen immer mit "data-", k?nnen verwendet werden, um Elemente in CSS über den Attribut-Selektor zu stylen und den Benutzer Informationen über die
attr()
-Funktion anzuzeigen. - In JavaScript k?nnen auf Dateneigenschaften mithilfe
getAttribute()
undsetAttribute()
Methoden,dataset
-attribute oder JQuery -Methoden zugegriffen werden.data()
W?hrend benutzerdefinierte Datenattribute leistungsf?hig sind, sollten sie nur verwendet werden, wenn es keine anderen geeigneten HTML -Elemente oder -attribute gibt und nicht zum Speichern gro?er Datenmengen verwendet werden sollte.
Warum verwenden Sie benutzerdefinierte Dateneigenschaften?
Wir müssen h?ufig Informationen speichern, die mit verschiedenen DOM -Elementen verbunden sind. Diese Informationen sind für die Leser m?glicherweise nicht wichtig, aber es wird unsere Entwicklungsbemühungen erheblich erleichtern. Angenommen, Sie listen verschiedene Restaurants auf einer Webseite auf. Wenn Sie vor HTML5 Informationen wie die Art der Lebensmittel speichern m?chten, die von einem Restaurant bereitgestellt wird oder wie weit sie von den Besuchern sind, verwenden Sie das -Merkmal von HTML. Was ist, wenn Sie auch Ihre Restaurant -ID aufbewahren müssen, um das spezifische Restaurant anzusehen, das der Benutzer besuchen m?chte? Hier sind einige Fragen zu den Methoden basierend auf HTML class
Attribut: class
- html
- Eigenschaften werden nicht verwendet, um solche Daten zu speichern. Der Hauptzweck ist es, Entwicklern einer Reihe von Elementen Stilinformationen zuzuweisen.
class
Jedes Mal, wenn eine Nachricht hinzugefügt wird, muss eine neue Klasse dem Element hinzufügen. Dies macht die Parsen von Daten in JavaScript, um die erforderlichen Informationen noch schwieriger zu machen. - Angenommen, der angegebene Klassenname beginnt mit einer Nummer. Wenn Sie sich entscheiden, das Element sp?ter basierend auf den Daten im Klassennamen zu stylen, müssen Sie den Zahlen entkommen oder den Attributauswahl im Stylesheet verwenden.
beginnen, sind Datenattribute. Sie k?nnen diese Datenattribute auch für Stilelemente verwenden. Geben Sie als n?chstes die Grundlagen der Dateneigenschaften ein und lernen Sie, wie Sie auf ihre Werte in CSS und JavaScript zugreifen k?nnen. data-
html syntax
Wie bereits erw?hnt, beginnt der Name des Datenattributs immer mit. Hier ist ein Beispiel: data-
<li data-type="veg" data-distance="2miles" data-identifier="10318">Salad King</li>
Sie k?nnen diese Datenattribute jetzt verwenden, um die Restaurants der Besucher zu durchsuchen und zu sortieren. Zum Beispiel k?nnen Sie ihnen jetzt alle vegetarischen Restaurants in einer bestimmten Entfernung zeigen. Zus?tzlich zum data-
Pr?fix k?nnen die Namen gültiger benutzerdefinierter Datenattribute nur Buchstaben, Zahlen, Bindestriche (-), Punkte (.), Colons (:) oder unterstrichen (_) enthalten. Es kann keine Gro?buchstaben enthalten. Bei Verwendung von Dateneigenschaften müssen Sie auf zwei Dinge achten. Zun?chst sollten die in diesen Eigenschaften gespeicherten Daten vom Typ String sein. Jeder Inhalt, der in Strings codiert werden kann, kann auch in Dateneigenschaften gespeichert werden. Alle Typkonvertierungen müssen in JavaScript durchgeführt werden. Zweitens sollten Datenattribute nur verwendet werden, wenn keine anderen geeigneten HTML -Elemente oder -attribute vorhanden sind. Zum Beispiel ist es unangemessen, die Klasse eines Elements im Attribut data-class
zu speichern. Ein Element kann eine beliebige Anzahl von Datenattributen sowie jeden gewünschten Wert haben.
Datenattribute und CSS
Sie k?nnen den Attribut -Selektor verwenden, um Elemente in CSS unter Verwendung von Datenattributen zu stylen. Sie k?nnen auch die Funktion attr()
verwenden, um Informationen anzuzeigen, die in Dateneigenschaften dem Benutzer gespeichert sind (auf Tooltips oder andere Arten).
Setzen Sie den Elementstil
Zurück zu unserem Beispiel für Restaurants k?nnen Sie den Hintergrund des Restaurants auf unterschiedliche Weise mit dem Immobilienauswahl einstellen und den Benutzer für die Art des Restaurants oder deren Entfernung vom Benutzer auffordern. Hier ist ein Beispiel:
li[data-type='veg'] { background: #8BC34A; } li[data-type='french'] { background: #3F51B5; }
Erstellen Sie Tooltips
Sie k?nnen Tooltips verwenden, um zus?tzliche Informationen zu Elementen für den Benutzer anzuzeigen. Ich empfehle Ihnen, diese Methode zum schnellen Prototyping zu verwenden, anstatt Websites zu produzieren, da zumindest die CSS-Tooltips nicht vollst?ndig zug?nglich sind. Die Informationen, die Sie anzeigen m?chten, k?nnen im Attribut data-tooltip
gespeichert werden.
<span data-tooltip="簡單的解釋">Word</span>
Sie k?nnen dann die ::before
pseudoelement verwenden, um die Daten dem Benutzer vorzustellen.
span::before { content: attr(data-tooltip); //更多樣式規(guī)則 } span:hover::before { display: inline-block; }
Verwenden Sie JavaScript, um auf Datenattribute zuzugreifen
Es gibt drei M?glichkeiten, in JavaScript auf Dateneigenschaften zuzugreifen.
verwenden getAttribute
und setAttribute
Sie k?nnen in JavaScript getAttribute()
und setAttribute()
verwenden, um die Werte verschiedener Datenattribute zu erhalten und festzulegen. Wenn die angegebene Eigenschaft nicht vorhanden ist, gibt die getAttribute
-Methode null
oder eine leere Zeichenfolge zurück. Hier ist ein Beispiel dafür, wie diese Methoden verwendet werden:
let restaurant = document.getElementById("restaurantId"); let ratings = restaurant.getAttribute("data-ratings");
Sie k?nnen die Methode setAttribute
verwenden, um den Wert einer vorhandenen Eigenschaft zu ?ndern oder eine neue Eigenschaft hinzuzufügen.
restaurant.setAttribute("data-owner-name", "someName");
verwenden dataset
Eigenschaften
Ein einfacherer Weg, um auf Dateneigenschaften zuzugreifen, besteht darin, dataset
Eigenschaften zu verwenden. Diese Eigenschaft gibt ein DOMStringMap
-Objekt zurück, das einen Eintrag für jede benutzerdefinierte Dateneigenschaft enth?lt. Es gibt einige Dinge, die Sie bei der Verwendung des dataset
-attributs bewusst sein müssen. Es werden drei Schritte durchgeführt, um das benutzerdefinierte Datenattribut in die Taste DOMStringMap
zu konvertieren:
- Entfernen Sie das Pr?fix
data-
aus dem Attributnamen - Entfernen Sie alle Bindestriche, gefolgt von Kleinbuchstaben aus dem Namen und konvertieren Sie die folgenden Buchstaben in Gro?buchstaben
- Andere Zeichen bleiben gleich. Dies bedeutet, dass auch jeder Bindestrich, der von Kleinbuchstabenbuchstaben verfolgt wird, gleich bleiben.
element.dataset.keyname
Die Eigenschaften k?nnen dann mit dem im Objekt als Schlüssel gespeicherten Kamelnamen wie element.dataset[keyname]
zugegriffen werden. Eine andere M?glichkeit, auf Eigenschaften zuzugreifen, besteht darin, eine quadratische Halterungsnotation wie
<li data-type="veg" data-distance="2miles" data-identifier="10318">Salad King</li>
Folgende Beispiele:
li[data-type='veg'] { background: #8BC34A; } li[data-type='french'] { background: #3F51B5; }
Diese Methode wird jetzt in allen wichtigen Browsern unterstützt und Sie sollten sie zuerst verwenden, um auf benutzerdefinierte Dateneigenschaften zuzugreifen.
Verwenden Sie JQuery
data()
Sie k?nnen auch die Dateneigenschaften eines Elements mit der
<span data-tooltip="簡單的解釋">Word</span>
Ab Version 1.6 beginnt JQuery mit der Verwendung von Kamelversionen von Dateneigenschaften. Jetzt k?nnen Sie dasselbe mit dem folgenden Code tun:
span::before { content: attr(data-tooltip); //更多樣式規(guī)則 } span:hover::before { display: inline-block; }
null
Sie sollten wissen, dass JQuery auch versuchen wird, die von Dateneigenschaften erhaltenen Zeichenfolgen in geeignete Typen wie Zahlen, Booleans, Objekte, Arrays und
let restaurant = document.getElementById("restaurantId"); let ratings = restaurant.getAttribute("data-ratings");
attr()
Wenn Sie m?chten, dass JQuery den Wert des Datenattributs als Zeichenfolge erhalten, ohne zu versuchen, ihn in einen anderen Typ zu konvertieren, sollten Sie die
restaurant.setAttribute("data-owner-name", "someName");
data-distance
Sie k?nnen den Wert seines
<li data-type="veg" data-distance="2miles" data-identifier="10318" data-owner-name="someName">Salad King</li>
data-distance
Wie Sie sehen k?nnen, liefert der Zugriff auf den Wert des
Schlussfolgerung
In diesem Tutorial habe ich alle wichtigen Dinge über HTML5 -Dateneigenschaften behandelt. Zus?tzlich zum Erstellen von Tooltips und Styleing -Elementen mithilfe des Attributauswahls k?nnen Sie auch Dateneigenschaften verwenden, um Benutzer zu speichern und an Benutzer anzuzeigen, z. B. Benachrichtigungen über ungelesene Nachrichten und mehr.
(Der FAQ -Abschnitt sollte hier hinzugefügt werden, der Inhalt stimmt mit dem FAQ -Teil im Eingabetxt überein, aber der Sprachausdruck kann verfeinert werden. Um eine Duplikation zu vermeiden, lasse ich diesen Teil weg.)
Das obige ist der detaillierte Inhalt vonWie Sie HTML5 -benutzerdefinierte Datenattribute verwenden k?nnen und warum. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Es gibt drei g?ngige M?glichkeiten, HTTP-Anforderungen in Node.js zu initiieren: Verwenden Sie integrierte Module, Axios und Knotenfetch. 1. Verwenden Sie das integrierte HTTP/HTTPS-Modul ohne Abh?ngigkeiten, das für grundlegende Szenarien geeignet ist, jedoch eine manuelle Verarbeitung von Datengen?hten und Fehlerüberwachung erfordert, z. 2.Axios ist eine auf Versprechen basierende Bibliothek von Drittanbietern. Es verfügt über eine kurze Syntax und leistungsstarke Funktionen, unterstützt Async/Auseait, automatische JSON -Konvertierung, Interceptor usw. Es wird empfohlen, asynchrone Anforderungsvorg?nge zu vereinfachen. 3.Node-Fetch bietet einen Stil ?hnlich dem Browser-Abruf, basierend auf Versprechen und einfacher Syntax

JavaScript -Datentypen sind in primitive Typen und Referenztypen unterteilt. Zu den primitiven Typen geh?ren String, Anzahl, Boolesche, Null, undefiniertes und Symbol. Die Werte sind unver?nderlich und Kopien werden bei der Zuweisung von Werten kopiert, sodass sie sich nicht gegenseitig beeinflussen. Referenztypen wie Objekte, Arrays und Funktionen speichern Speicheradressen, und Variablen, die auf dasselbe Objekt zeigen, wirkt sich gegenseitig aus. Typeof und Instanz k?nnen verwendet werden, um die Typen zu bestimmen, aber auf die historischen Probleme der TypeOfnull zu achten. Das Verst?ndnis dieser beiden Arten von Unterschieden kann dazu beitragen, einen stabileren und zuverl?ssigeren Code zu schreiben.

Welches JavaScript -Framework ist die beste Wahl? Die Antwort besteht darin, die am besten geeigneten nach Ihren Bedürfnissen zu w?hlen. 1.React ist flexibel und kostenlos und für mittlere und gro?e Projekte geeignet, für die hohe Anpassungs- und Teamarchitekturf?higkeiten erforderlich sind. 2. Angular bietet vollst?ndige L?sungen, die für Anwendungen auf Unternehmensebene und langfristige Wartung geeignet sind. 3.. Vue ist einfach zu bedienen, geeignet für kleine und mittlere Projekte oder schnelle Entwicklung. Unabh?ngig davon, ob es einen technologischen Stack, die Teamgr??e, der Projektlebenszyklus gibt und ob SSR erforderlich ist, sind auch wichtige Faktoren für die Auswahl eines Rahmens. Kurz gesagt, es gibt keinen absolut besten Rahmen, die beste Wahl ist die, die Ihren Bedürfnissen entspricht.

Hallo, JavaScript -Entwickler! Willkommen in den JavaScript -Nachrichten dieser Woche! Diese Woche konzentrieren wir uns auf: Oracas Markenstreit mit Deno, neue JavaScript -Zeitobjekte werden von Browsern, Google Chrome -Updates und einigen leistungsstarken Entwickler -Tools unterstützt. Fangen wir an! Der Markenstreit von Oracle mit dem Versuch von Deno Oracle, ein "JavaScript" -Marke zu registrieren, hat Kontroversen verursacht. Ryan Dahl, der Sch?pfer von Node.js und Deno, hat eine Petition zur Absage der Marke eingereicht, und er glaubt, dass JavaScript ein offener Standard ist und nicht von Oracle verwendet werden sollte

Cacheapi ist ein Tool, das der Browser zur Cache -Netzwerkanfragen bereitstellt, das h?ufig in Verbindung mit dem Servicearbeiter verwendet wird, um die Leistung der Website und die Offline -Erfahrung zu verbessern. 1. Es erm?glicht Entwicklern, Ressourcen wie Skripte, Stilbl?tter, Bilder usw. Zu speichern; 2. Es kann die Cache -Antworten entsprechend den Anfragen übereinstimmen. 3. Es unterstützt das L?schen bestimmter Caches oder das L?schen des gesamten Cache. 4.. Es kann Cache -Priorit?ts- oder Netzwerkpriorit?tsstrategien durch Servicearbeiter implementieren, die sich auf Fetch -Ereignisse anh?ren. 5. Es wird h?ufig für die Offline -Unterstützung verwendet, die wiederholte Zugriffsgeschwindigkeit, die Vorspannungs -Schlüsselressourcen und den Inhalt des Hintergrundaktualisierungss beschleunigen. 6. Wenn Sie es verwenden, müssen Sie auf die Cache -Versionskontrolle, Speicherbeschr?nkungen und den Unterschied zum HTTP -Caching -Mechanismus achten.

Versprechen ist der Kernmechanismus für den Umgang mit asynchronen Operationen in JavaScript. Das Verst?ndnis von Kettenanrufen, Fehlerbehebung und Kombination ist der Schlüssel zum Beherrschen ihrer Anwendungen. 1. Der Kettenaufruf gibt ein neues Versprechen durch .then () zurück, um asynchrone Prozessverkampferung zu realisieren. Jeder. Dann () erh?lt das vorherige Ergebnis und kann einen Wert oder ein Versprechen zurückgeben; 2. Die Fehlerbehandlung sollte .Catch () verwenden, um Ausnahmen zu fangen, um stille Ausf?lle zu vermeiden, und den Standardwert im Fang zurückgeben, um den Prozess fortzusetzen. 3. Combinatoren wie Promise.All () (erfolgreich erfolgreich erfolgreich nach allen Erfolg), Versprechen.Race () (Die erste Fertigstellung wird zurückgegeben) und Versprechen.Allsettled () (Warten auf alle Fertigstellungen)

JavaScript-Array-integrierte Methoden wie .Map (), .filter () und .Reduce () k?nnen die Datenverarbeitung vereinfachen. 1) .Map () wird verwendet, um Elemente eins in eins um Neuarrays zu konvertieren; 2) .Filter () wird verwendet, um Elemente durch Bedingung zu filtern; 3) .Reduce () wird verwendet, um Daten als einzelner Wert zu aggregieren; Missbrauch sollte bei der Verwendung vermieden werden, was zu Nebenwirkungen oder Leistungsproblemen führt.

Die Ereignisschleife von JavaScript verwaltet asynchrone Vorg?nge, indem sie Call -Stapel, Webapis und Task -Warteschlangen koordinieren. 1. Der Anrufstack führt synchronen Code aus, und wenn er auf asynchrone Aufgaben begegnet, wird er zur Verarbeitung an Webapi übergeben. 2. Nachdem das Webapi die Aufgabe im Hintergrund abgeschlossen hat, wird der Rückruf in die entsprechende Warteschlange (Makroaufgabe oder Micro -Aufgabe) eingebaut. 3. Die Ereignisschleife prüft, ob der Anrufstapel leer ist. Wenn es leer ist, wird der Rückruf aus der Warteschlange herausgenommen und zur Ausführung in den Anrufstapel geschoben. V. 5. Das Verst?ndnis der Ereignisschleife hilft zu vermeiden, den Haupt -Thread zu blockieren und die Codeausführungsreihenfolge zu optimieren.
