How to Use HTML5 Data Attributes (data-*)? (Practical Examples)
HTML5 data attribute is used to store custom metadata in elements. It starts with data- and is named in lowercase. It can be read with dataset (camel case) or getAttribute (original string). It is suitable for lightweight scenarios such as API ID and UI status. Sensitive data or semantic duplication is disabled.

HTML5 data attributes let you store custom information directly in HTML elements without affecting layout or behavior — and they're easy to access with JavaScript or CSS.
What data attributes look like
They're any attribute that starts with data- , followed by a lowercase name (hyphens allowed, no underscores or capitals). Browsers ignore them by default, but your code can read them anytime.
Example:
How to read data attributes in JavaScript
You can get values using dataset (camelCase) or getAttribute() (exact string).
-
element.dataset.userId→"123"(automatically convertsdata-user-idtouserId) -
element.dataset.action→"delete" -
element.getAttribute('data-confirmed')→"false"(returns string — convert manually if needed)
When to use them (and when not to)
Use data attributes for lightweight, element-specific metadata — like IDs for API calls, UI state hints, or analytics triggers.
- ✅ Store a product ID on a “Buy Now” button for later AJAX use
- ✅ Mark which tab is active:
<div data-tab="settings"> <li> ✅ Flag content language variants: <code>data-lang="en-US" - ❌ Don't store large objects or sensitive tokens — use JS variables or secure backend sessions instead
- ❌ Avoid duplicating semantic meaning already covered by standard attributes (
id,class,aria-)
Styling with data attributes in CSS
You can target elements in CSS using attribute selectors — great for theme switches or state-based styling.
Example:
[data-status="pending"] { opacity: 0.7; }[data-theme="dark"] .card { background: #333; color: #fff; }
This keeps style logic tied directly to markup intent — no extra classes needed.
The above is the detailed content of How to Use HTML5 Data Attributes (data-*)? (Practical Examples). For more information, please follow other related articles on the PHP Chinese website!
Hot AI Tools
Undress AI Tool
Undress images for free
AI Clothes Remover
Online AI tool for removing clothes from photos.
Undresser.AI Undress
AI-powered app for creating realistic nude photos
ArtGPT
AI image generator for creative art from text prompts.
Stock Market GPT
AI powered investment research for smarter decisions
Hot Article
Popular tool
Notepad++7.3.1
Easy-to-use and free code editor
SublimeText3 Chinese version
Chinese version, very easy to use
Zend Studio 13.0.1
Powerful PHP integrated development environment
Dreamweaver CS6
Visual web development tools
SublimeText3 Mac version
God-level code editing software (SublimeText3)
Hot Topics
20521
7
13634
4




