💡 記事の下にエディタを用意しています。壊してもOK!

更新日: 2026年5月31日

HTMLのdata属性の使い方|data-id data-name

📌

結論

data-* 属性でHTMLにカスタムデータを埋め込める

📝 実際のコードはこちら
<div data-id="123" data-name="test">要素</div>

JavaScriptからの取得

📝 実際のコードはこちら
const el = document.querySelector('[data-id]');
console.log(el.dataset.id);   // "123"
console.log(el.dataset.name); // "test"
data- の後の名前が dataset のプロパティ名になります。data-user-id なら dataset.userId とキャメルケースになります。

使いどころ

場面
リストの各項目にIDクリック時にどの項目か識別
モーダルに表示するデータdata-titleでタイトルを保持
JavaScriptに設定を渡すdata-themeでテーマ名を指定

まとめ

data-* 属性でカスタムデータを埋め込める ・JSからは element.dataset でアクセス ・ハイフン付きはキャメルケースに変換

演習で試してみよう

data-idとdata-nameを付けたdivを作ってみましょう。

🧪 ここで試せます ─ 壊しても大丈夫!

下のエディタで実際にコードを書いて、すぐにプレビューで確認できます。何度でもやり直せるので、思い切って色々試してみてください。

■ 演習

divにdata-id="123"とdata-name="test"を付けてください。

詰まったらヒント

data-で始まる属性はカスタムデータ用

10pt

data属性

divにdata-id="123"とdata-name="test"を付けてください。

エラーをクリックで該当行をハイライト。✕=エラー ⚠=警告 ›=ログ。

ロードマップ · 全解説

この演習を深掘りする

「data属性」は中級レベルのHTML演習です。divにdata-id="123"とdata-name="test"を付けてください。 この課題は、ブラウザ内エディタでその場実行でき、正誤判定も自動で行われます。

data属性はJavaScriptから取得して使えます。 実務では同様のパターンがコードレビューやUI実装の現場で繰り返し登場します。

学習ロードマップ「html-basic」とセットで進めると、インプット→アウトプットの循環が作れます。演習#29はカテゴリ「html-advanced」の中核スキルを固める位置づけです。

取り組み手順(ステップバイステップ)

  1. ページ上部の解説記事を読み、「data属性」のゴールを把握する
  2. エディタのHTML欄を確認し、スターターコードから書き始める
  3. 詰まったらヒントを開き、解答例と見比べながら差分を埋める
  4. 「実行」ボタンでプレビュー/コンソールを確認し、期待どおりの表示になるかテストする
  5. 正解判定では「data-id」「data-name」などが含まれることを確認します。
  6. 正解後は前後の演習リンクから続けて取り組み、同カテゴリを通しで完成させる

解答コードの読み解き方

解答コードでは div などのHTMLタグが使われています。タグの入れ子と閉じタグの対応を確認しましょう。 解説: data属性はJavaScriptから取得して使えます。 ヒントの要点: data-で始まる属性はカスタムデータ用

実務・転職でどう活きるか

フォームHTMLは会員登録、問い合わせ、決済フローの入口です。labelとinputの紐づけはアクセシビリティ監査(WCAG)でも必須項目になります。

よくある間違い

  • ヒントを読まずに解答を見る: data-で始まる属性はカスタムデータ用
  • labelのforとinputのidが不一致
  • formにname属性がないinput
  • checkboxをlabelなしで置く

トラブルシューティング

実行してもプレビューが変わらない
HTMLの編集欄を触っているか確認し、実行ボタンを押したあと数秒待ってから再確認してください。
正解なのに判定が通らない
正解判定では「data-id」「data-name」などが含まれることを確認します。 全角スペースやtypo、タグの閉じ忘れを疑ってください。
コンソールにエラーが出る
DevToolsのConsoleタブで行番号を確認し、括弧・引用符の対応を見直します。
スマホで入力しづらい
横画面にするか、PCブラウザで同じURLを開くと快適です。進捗はlocalStorageに保存されます。

転職・面接で話せるポイント

  • 「data属性」で扱う技術を自分の言葉で30秒説明できるようにしておく
  • 解答コードの各行が何をしているか、面接官に白板で説明する練習をする
  • HTMLタグ(div)の意味とアクセシビリティ上の注意点を説明できる
  • 「なぜこの実装方法を選んだか」「別解はあるか」を必ず1つ用意する

用語集

form
ユーザー入力をサーバへ送るためのフォーム。
label
入力欄の説明。for/idでinputと紐づける。
checkbox
オン/オフの選択入力。

このページで扱うキーワード

このページは「data属性」「html-advanced」「中級」「div」「data attributes」などのキーワードで検索される方に向けた、data属性の無料演習・解説です。

関連する開発ツール

学習ロードマップ

学習ロードマップ →

関連する演習

よくある質問(FAQ)

data属性は無料ですか?

この演習は完全無料で、ブラウザだけで完結します。アカウント登録やクレジットカードは不要です。

難易度と所要時間は?

「data属性」は難易度「中級」です。解説記事を読んでから取り組めば、プログラミング未経験でも30分以内に解ける設計になっています。 1問あたり5〜15分が目安です。詰まったらヒント→解答の順で確認してください。

正解後は何をすればいい?

正解したら「次の問題」リンクから続けてください。同カテゴリを一通り終えたら、学習ロードマップの次ステップへ進むのがおすすめです。

スマホでもできますか?

スマートフォンのブラウザでもエディタとプレビューは動作します。ただしコード入力はPCの方が快適です。

他の演習はどこ?

演習一覧は/learn/から。カテゴリ・難易度でフィルターできます。

「data属性」で覚えるポイントは?

data属性はJavaScriptから取得して使えます。 ヒント: data-で始まる属性はカスタムデータ用

HTML応用カテゴリの位置づけは?

フォームHTMLは会員登録、問い合わせ、決済フローの入口です。labelとinputの紐づけはアクセシビリティ監査(WCAG)でも必須項目になります。

「data属性」の具体的な手順は?

1. ページ上部の解説記事を読み、「data属性」のゴールを把握する
2. エディタのHTML欄を確認し、スターターコードから書き始める
3. 詰まったらヒントを開き、解答例と見比べながら差分を埋める
4. 「実行」ボタンでプレビュー/コンソールを確認し、期待どおりの表示になるかテストする
5. 正解判定では「data-id」「data-name」などが含まれることを確認します。
6. 正解後は前後の演習リンクから続けて取り組み、同カテゴリを通しで完成させる

解答コードの読み方は?

解答コードでは div などのHTMLタグが使われています。タグの入れ子と閉じタグの対応を確認しましょう。

解説: data属性はJavaScriptから取得して使えます。

ヒントの要点: data-で始まる属性はカスタムデータ用

うまくいかないときは?

実行してもプレビューが変わらない → HTMLの編集欄を触っているか確認し、実行ボタンを押したあと数秒待ってから再確認してください。
正解なのに判定が通らない → 正解判定では「data-id」「data-name」などが含まれることを確認します。 全角スペースやtypo、タグの閉じ忘れを疑ってください。
コンソールにエラーが出る → DevToolsのConsoleタブで行番号を確認し、括弧・引用符の対応を見直します。
スマホで入力しづらい → 横画面にするか、PCブラウザで同じURLを開くと快適です。進捗はlocalStorageに保存されます。

転職・ポートフォリオでどうアピールする?

「data属性」で扱う技術を自分の言葉で30秒説明できるようにしておく 解答コードの各行が何をしているか、面接官に白板で説明する練習をする HTMLタグ(div)の意味とアクセシビリティ上の注意点を説明できる 「なぜこの実装方法を選んだか」「別解はあるか」を必ず1つ用意する

スターターコードは変更していい?

はい。動けばOKですが、まずはスターターを理解してから差分だけ足すと学習効率が上がります。

点数(pt)の意味は?

10ptは難易度の目安です。合計点を競う必要はなく、理解度を測る指標として使ってください。