カテゴリ: HTML 更新日: 2026/07/04

HTML data-*属性をJavaScriptで読む方法を完全解説!datasetの使い方を初心者向けにやさしく理解

HTML data-*属性をJavaScriptで読む方法|datasetの使い方
HTML data-*属性をJavaScriptで読む方法|datasetの使い方

先生と生徒の会話形式で理解しよう

生徒

「HTMLのdata-*属性って、JavaScriptでどうやって読み取るんですか?」

先生

「HTMLのdata属性は、JavaScriptのdatasetという仕組みを使って簡単に取得できますよ。」

生徒

「datasetって何ですか?難しそうです…」

先生

「datasetは、HTMLに書いたカスタムデータを取り出すための箱のようなものです。順番に見ていきましょう。」

1. HTML data-*属性をJavaScriptで読むとは

1. HTML data-*属性をJavaScriptで読むとは
1. HTML data-*属性をJavaScriptで読むとは

HTML data属性とは、HTML要素に自由なカスタムデータを持たせるための属性です。data-user-idやdata-priceのように書くことで、画面には表示しない情報を裏側に保存できます。この情報をJavaScriptで取得する方法が、datasetの使い方です。

JavaScriptとは、Webページに動きをつけるプログラミング言語です。ボタンを押したときに処理をするなどの動作は、JavaScriptで書かれています。HTML data-*属性とJavaScriptを組み合わせることで、Webアプリ開発の基本が理解できるようになります。

2. datasetとは何かをやさしく解説

2. datasetとは何かをやさしく解説
2. datasetとは何かをやさしく解説

datasetとは、HTMLのdata-*属性をまとめて管理する仕組みです。たとえば、引き出し付きの机を想像してください。data属性が引き出しで、datasetがその引き出し全体を管理する箱のようなものです。

data-user-nameという属性があれば、JavaScriptではdataset.userNameという形で取得できます。ここで大切なのは、ハイフンの後ろの単語が大文字に変わるという点です。これをキャメルケースといいます。キャメルケースとは、単語の区切りを大文字でつなぐ書き方のことです。

3. 基本的なHTMLとdatasetの読み取り例

3. 基本的なHTMLとdatasetの読み取り例
3. 基本的なHTMLとdatasetの読み取り例

まずは一番基本となるHTML data-*属性の書き方と、JavaScriptでの読み取り方法を見てみましょう。


<button id="btn" data-message="こんにちは">クリック</button>

<script>
const button = document.getElementById("btn");
console.log(button.dataset.message);
</script>
ブラウザ表示

この例では、data-messageというHTML data属性を設定しています。JavaScriptではbutton.dataset.messageと書くだけで値を取得できます。とてもシンプルで分かりやすい方法です。

4. ハイフン付きdata属性の読み方

4. ハイフン付きdata属性の読み方
4. ハイフン付きdata属性の読み方

次に、ハイフンを含むdata属性の読み方を確認します。初心者が間違えやすいポイントです。


<div id="item" data-user-id="1001"></div>

<script>
const item = document.getElementById("item");
console.log(item.dataset.userId);
</script>
ブラウザ表示

data-user-idは、JavaScriptではdataset.userIdになります。user-idではなくuserIdになる点が重要です。ハイフンの次の文字が大文字になるルールを覚えておきましょう。

5. data属性の値を書き換える方法

5. data属性の値を書き換える方法
5. data属性の値を書き換える方法

datasetは、読み取るだけでなく値を変更することもできます。HTML data属性をJavaScriptで更新することで、Webページの状態を管理できます。


<p id="text" data-count="1">回数表示</p>

<script>
const text = document.getElementById("text");
text.dataset.count = "2";
console.log(text.dataset.count);
</script>
ブラウザ表示

このようにdataset.countへ新しい値を代入するだけで、HTML data属性の値が更新されます。数値に見えても文字列として扱われる点も覚えておきましょう。

6. 条件分岐と組み合わせた実用例

6. 条件分岐と組み合わせた実用例
6. 条件分岐と組み合わせた実用例

HTML data-*属性は、条件分岐と組み合わせることでさらに便利になります。条件分岐とは、もしこうならこうするという判断処理のことです。


<button id="statusBtn" data-status="active">状態確認</button>

<script>
const statusBtn = document.getElementById("statusBtn");

if (statusBtn.dataset.status === "active") {
    console.log("現在は有効です");
} else {
    console.log("現在は無効です");
}
</script>
ブラウザ表示

このように、data-statusの値を使って処理を分けることができます。HTMLとJavaScriptを連携させる基本的な書き方です。

7. datasetを使うときの注意点

7. datasetを使うときの注意点
7. datasetを使うときの注意点

HTML data属性はとても便利ですが、いくつか注意点があります。まず、data-*以外の属性はdatasetでは取得できません。また、大文字は使えないため、必ず小文字で書く必要があります。

さらに、値はすべて文字列として扱われます。数字として計算したい場合は、数値に変換する必要があります。これは型変換と呼ばれます。型とはデータの種類のことです。

HTML data-*属性とJavaScript datasetの使い方を理解すると、Web制作やWebアプリ開発の基礎力が大きく伸びます。初心者でも段階的に学べば、確実に理解できます。

2026年最新 スキルアップ・実践セミナー

「意味」がわかればWebは楽しい!現役エンジニアが教える、挫折しないためのHTML構造化入門

「Webの仕組み」を正しく操る。HTML5でプロフェッショナルな情報設計の第一歩を。

本講座では、単なるタグの暗記ではなく、「検索エンジンやAIに正しく伝わる情報の構造化」という本質的な技術を学びます。モダンWebの土台であるHTML5を通じて、将来的にWebデザイナーやフロントエンドエンジニアを目指すための「稼げる基礎力」を最短距離で身につけます。

具体的なワークショップ内容と環境

【つくるもの】
自己紹介やポートフォリオの土台となる「構造化されたWebページ」を作成します。見出し、段落、リスト、リンク、画像配置など、商用サイトでも必ず使われる「セマンティックなマークアップ」をゼロから体験してください。

【開発環境】
世界中のプロが愛用するVisual Studio Code (VS Code)を使用します。Emmet(高速入力機能)の設定から、HTMLの文法ミスを自動チェックする拡張機能まで、現場基準の効率的な環境を一緒に構築します。

この60分で得られる3つの武器

1. SEOに強い「意味のある」マークアップ

Googleから高く評価されるタグの選び方を理解し、検索上位を狙えるサイト構造の作り方を学びます。

2. VS Codeを使いこなす爆速コーディング

プロが使うショートカットや自動補完機能を習得し、タイピングの手間を最小限にする技術を体得します。

3. 2026年基準のWebアクセシビリティ

画像への代替テキストや適切な階層構造など、誰にとっても使いやすい「優しいWeb」の作り方を伝授します。

※本講座は、将来的にWebデザイナー、コーダー、フロントエンドエンジニアを目指す未経験者のためのエントリー講座です。「モクモク」独自のマンツーマン形式により、コードを1行書くたびに生まれる疑問をその場で解決します。

「意味」がわかればWebは楽しい!現役エンジニアが教える、挫折しないためのHTML構造化入門

現役エンジニアが教えるHTML入門

各回少人数・マンツーマン形式で徹底サポート

このセミナーの詳細・お申し込みはこちら
カテゴリの一覧へ
新着記事
New1
CSS
テーブルの罫線を消す!CSSで枠線なしのスッキリした表デザインを作る方法
New2
HTML
HTMLのtableタグの使い方を完全ガイド!初心者でもわかる表組みデータの基本
New3
CSS
CSSで要素の可視性を制御するテクニック!モーダル・ドロップダウン活用ガイド
New4
CSS
CSSで表示切替をアニメーションと併用する方法!displayとtransitionの使い方完全ガイド
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.2
Java&Spring記事人気No2
HTML
HTML inputタグとは?フォーム入力を担う基本要素を初心者向けに完全解説
No.3
Java&Spring記事人気No3
CSS
CSSの::placeholderの使い方を完全ガイド!入力欄のデザインを自由自在に変える方法
No.4
Java&Spring記事人気No4
CSS
テキストボックスの作り方!CSSで幅・高さ・色を自由にカスタマイズする方法
No.5
Java&Spring記事人気No5
CSS
CSSでGoogle Fontsを使う方法を完全ガイド!初心者でもできるフォントの変更
No.6
Java&Spring記事人気No6
CSS
CSSでテキストの折り返しを完全解説!初心者でもわかる基本と注意点
No.7
Java&Spring記事人気No7
Bootstrap
Bootstrap 5ボタン入門:.btn・.btn-primaryの種類とサイズ・形を初心者向けに完全解説
No.8
Java&Spring記事人気No8
Bootstrap
Bootstrap 5 のカラーと背景色を完全ガイド!初心者向け色の使い分け解説