HTML data属性とは?data-*でカスタムデータを持たせる基本を初心者向けにやさしく解説
生徒
「HTMLのdata属性って何ですか?classやidとは違うんですか?」
先生
「data属性は、HTMLタグの中にオリジナルの情報を保存できる仕組みですよ。見た目には直接表示されませんが、JavaScriptなどから利用できます。」
生徒
「オリジナルの情報って、どんなときに使うんですか?」
先生
「例えば、商品の番号や、ボタンが持つ意味などをこっそりタグに持たせたいときに使います。では、HTML data属性の基本から見ていきましょう。」
1. HTML data属性とは何か
HTML data属性とは、dataから始まる特別な属性のことです。正式にはdataアスタリスク属性と呼ばれ、HTML5から使えるようになりました。HTMLタグの中に、自分で自由に情報を追加できる仕組みです。
たとえば、商品一覧ページでそれぞれの商品に商品番号を持たせたい場合、画面に表示はしないけれど裏側で番号を持っておきたいことがあります。そのようなときにdata属性を使います。
HTMLの基本であるタグは、開始タグと終了タグで囲みます。その開始タグの中に、classやidと同じようにdata属性を書きます。見た目には変化しませんが、HTML構造の中に大切な情報を持たせることができます。
2. data-*属性の基本的な書き方
HTML data属性の書き方はとてもシンプルです。dataのあとにハイフンを付けて、自分で好きな名前を付けます。この名前の部分をカスタムデータ名といいます。
次の例では、商品番号をdata-idとして持たせています。
<div data-id="1001">
商品A
</div>
ブラウザ表示
このように書くことで、divタグの中に1001というデータを保存できます。HTML初心者の方は、見た目が変わらないので不思議に感じるかもしれませんが、これは裏側のメモのような役割です。
dataのあとは必ずハイフンを付けることがルールです。dataidのように書くことはできません。
3. data属性でカスタムデータを持たせる意味
なぜHTML data属性が必要なのでしょうか。それは、HTMLに意味のある情報を追加できるからです。
たとえば、ボタンに種類を持たせたいとします。購入ボタンなのか、お気に入りボタンなのかを区別したいときに、次のように書きます。
<button data-type="buy">
購入する
</button>
<button data-type="favorite">
お気に入り
</button>
ブラウザ表示
このようにdata属性を使うことで、それぞれのボタンに意味を持たせることができます。これはWebアプリ開発やフロントエンド開発でとてもよく使われるテクニックです。
カスタムデータ設計とは、どの情報をdata属性として持たせるかを考えることです。むやみに増やすのではなく、本当に必要な情報だけを整理して持たせることが大切です。
4. data属性とclassやidとの違い
HTML初心者がよく迷うのが、class属性やid属性との違いです。classは主にデザインをまとめるために使います。idはページ内で一つだけの特別な目印です。
それに対してdata属性は、見た目ではなくデータを保存するためのものです。つまり役割がまったく違います。
たとえば次の例を見てください。
<div id="main" class="box" data-category="news">
ニュース記事
</div>
ブラウザ表示
idは場所を特定する目印、classは見た目のグループ分け、data属性は情報を持たせるメモ、と考えると理解しやすくなります。HTMLの役割分担を正しく理解することが、Web制作の基礎力向上につながります。
5. 画像やリンクにdata属性を付ける例
HTML data属性は、divやbuttonだけでなく、imgタグやaタグにも使えます。つまり、ほとんどのHTMLタグに自由に追加できます。
次は画像に説明用のカスタムデータを持たせる例です。
<img src="/img/sample150-100.jpg" alt="サンプル画像" data-description="商品イメージ写真">
ブラウザ表示
このように書くことで、画像に対して説明データを持たせることができます。検索エンジン対策としては、alt属性が重要ですが、data属性は主にプログラム処理用です。
HTML初心者の方は、data属性は画面表示用ではなく、内部データ保存用だと覚えておきましょう。
6. data属性を使うときの注意点
HTML data属性はとても便利ですが、いくつか注意点があります。まず、重要な個人情報などは書かないことです。HTMLはブラウザで表示できるため、ソースコードを見れば誰でも確認できます。
また、データの名前は分かりやすく付けましょう。data-aやdata-xのような名前では、あとで見たときに意味が分からなくなります。data-product-idやdata-user-nameのように、具体的な名前を付けるのがおすすめです。
カスタムデータ設計を考えるときは、どの情報をHTMLに持たせるべきか整理することが重要です。これがWeb制作やフロントエンド開発の基礎になります。
HTML data属性の基本を理解すると、JavaScriptとの連携や動きのあるWebページ作成がよりスムーズになります。まずは簡単なdata属性の追加から練習して、HTMLの仕組みに慣れていきましょう。
まとめ
今回はHTML data属性とは何かという基本から、dataアスタリスク属性の書き方、data属性でカスタムデータを持たせる意味、そしてclass属性やid属性との違いまでを順番に学びました。HTML初心者の方にとっては、見た目が変わらないのにタグの中に情報を書き足すという考え方は少し不思議に感じたかもしれません。しかしHTML data属性は、Web制作やフロントエンド開発においてとても重要な役割を持っています。
HTML data属性とは、dataから始まる属性を使って、HTMLタグの中に自由なカスタムデータを追加できる仕組みです。HTML5で導入されたこのdataアスタリスク属性は、特別なルールのもとで安全に拡張できるように設計されています。dataのあとにハイフンを付けて名前を付けるというシンプルな書き方で、商品番号やカテゴリー情報、ボタンの種類などを持たせることができます。
class属性は主にデザインやスタイル指定のために使い、id属性はページ内で一つだけの特別な目印として使います。それに対してHTML data属性は、見た目ではなく内部データを保存するために使うという明確な役割の違いがあります。この役割分担を理解することが、HTMLの基礎理解を深める大きな一歩になります。
また、data属性はdivタグやbuttonタグだけでなく、imgタグやaタグなど多くのHTMLタグに追加できます。カスタムデータ設計を意識しながら、本当に必要な情報だけを整理して持たせることが大切です。HTMLソースコードは誰でも確認できるため、個人情報や機密情報は書かないという基本的な注意点も忘れてはいけません。
HTML data属性の基本をしっかり理解しておくと、将来JavaScriptと連携した動きのあるWebページ制作やWebアプリ開発に進んだときにも役立ちます。まずは小さなサンプルプログラムで練習し、HTMLタグの中にカスタムデータを持たせる感覚に慣れていきましょう。
<div class="card p-3" data-product-id="2001" data-category="book">
<h3 class="fw-bold">商品タイトル</h3>
<img src="/img/sample120-120.jpg" alt="商品画像" class="mb-2">
<p class="text-muted">商品の説明文が入ります。</p>
<button class="btn btn-primary" data-action="buy">
購入する
</button>
</div>
ブラウザ表示
上記のサンプルプログラムでは、cardというclassで見た目を整えながら、data属性で商品番号やカテゴリー、ボタンの動作種類といったカスタムデータを持たせています。これがHTML data属性の実践的な使い方です。HTML初心者の方は、まずはこのような簡単な構造から繰り返し書いてみることで、data属性の意味や役割を自然に理解できるようになります。
生徒
今日はHTML data属性とは何かを学びました。dataアスタリスク属性を使うと、HTMLタグの中にカスタムデータを持たせることができると分かりました。class属性やid属性とは役割が違うという点も理解できました。
先生
とても良い理解ですね。HTML data属性は見た目のためではなく、内部データ保存のために使います。Web制作では、見た目とデータの役割を分けて考えることが大切です。
生徒
商品番号やカテゴリーをdata属性で持たせることで、あとからJavaScriptで処理しやすくなるというイメージができました。HTML初心者ですが、少しずつ仕組みが分かってきました。
先生
その調子です。HTMLの基礎であるタグ構造、class属性、id属性、そしてHTML data属性を正しく使い分けられるようになれば、Webページ制作の土台はしっかりします。これからもサンプルプログラムを書きながら、カスタムデータ設計の考え方を身に付けていきましょう。
「意味」がわかればWebは楽しい!現役エンジニアが教える、挫折しないためのHTML構造化入門
「Webの仕組み」を正しく操る。HTML5でプロフェッショナルな情報設計の第一歩を。
本講座では、単なるタグの暗記ではなく、「検索エンジンやAIに正しく伝わる情報の構造化」という本質的な技術を学びます。モダンWebの土台であるHTML5を通じて、将来的にWebデザイナーやフロントエンドエンジニアを目指すための「稼げる基礎力」を最短距離で身につけます。
具体的なワークショップ内容と環境
【つくるもの】
自己紹介やポートフォリオの土台となる「構造化されたWebページ」を作成します。見出し、段落、リスト、リンク、画像配置など、商用サイトでも必ず使われる「セマンティックなマークアップ」をゼロから体験してください。
【開発環境】
世界中のプロが愛用するVisual Studio Code (VS Code)を使用します。Emmet(高速入力機能)の設定から、HTMLの文法ミスを自動チェックする拡張機能まで、現場基準の効率的な環境を一緒に構築します。
この60分で得られる3つの武器
Googleから高く評価されるタグの選び方を理解し、検索上位を狙えるサイト構造の作り方を学びます。
プロが使うショートカットや自動補完機能を習得し、タイピングの手間を最小限にする技術を体得します。
画像への代替テキストや適切な階層構造など、誰にとっても使いやすい「優しいWeb」の作り方を伝授します。
※本講座は、将来的にWebデザイナー、コーダー、フロントエンドエンジニアを目指す未経験者のためのエントリー講座です。「モクモク」独自のマンツーマン形式により、コードを1行書くたびに生まれる疑問をその場で解決します。
現役エンジニアが教えるHTML入門
各回少人数・マンツーマン形式で徹底サポート
このセミナーの詳細・お申し込みはこちら