速報

アララ メッセージで約301万件のメールアドレス流出|対象環境と配信への影響

CATEGORY

【JavaScript】data属性の取得・設定・更新【dataset】

※本ページのリンクにはプロモーションが含まれています。

*

目次

JavaScriptでdata属性(カスタムデータ属性)を操作するプロパティのご紹介です。

data属性、正式にはカスタムデータ属性は、HTMLの要素に「data-*」から始まる任意の名前を付けたカスタムデータを持たせることができる属性です。主にスクリプトでデータを扱う場合に指定することが多い属性になります。

スクリプトで扱うことが多いため、JavaScriptにはdata属性の取得・追加・更新といった操作を簡単に実行することができる便利なプロパティが用意されています。「dataset」というプロパティになります。

もちろん、HTML要素の属性を取得する「getAttribute」や属性を設定する「setAttribute」を使ってdata属性の取得や設定は可能ですが、datasetの方がシンプルに記述することができますし、パフォーマンスも高いようです。(比較結果については下記のリンク先をご参照ください。)

dataset vs getAttribute

HTMLにおけるカスタムデータ属性の詳細はにつきましてはこちらをご参照ください。

では、解説していきます。

スポンサーリンク

datasetでdata属性(data-*)を取得する

data属性の値を取得する方法です。下記のHTMLから「data-name」の値を取得してみます。

<div id="element" data-name="ryoy"></div>

idで要素を取得して、datasetでdataを指定します。その際に「data-name」から「data-」を除いた属性名「name」を指定します。

let element = document.getElementById('element');
element.dataset.name

もし、data属性名が「data-user-name」のように複数の単語をハイフンで繋いでいる場合は、ハイフンをキャメルケースに置き換えます。

let element = document.getElementById('element');
element.dataset.userName;

datasetでdata属性(data-*)を設定する

要素にdata属性を設定(追加)する方法です。下記のHTMLに「data-name」というdata属性に「ryoy」という値を設定・追加してみます。

<div id="element"></div>

取得する際と同様に記述して、イコールで値を代入します。

let element = document.getElementById('element');

element.dataset.name = 'ryoy';

もし、「data-user-name」のように複数の単語をハイフンで記述している場合は、キャメルケースに置き換えます。

let element = document.getElementById('element');
element.dataset.userName = 'ryoy';

スポンサーリンク

datasetでdata属性(data-*)を更新する

要素のdata属性の値を更新する方法です。下記のHTMLの「data-name」が持っている値「ryoy」を「ryoyryoy」に更新してみます。

<div id="element" data-name="ryoy"></div>

設定(追加)する際と同様の記述になります。新しい値を代入することで、カスタムデータ属性の値を更新することができます。

let element = document.getElementById('element');

element.dataset.name = 'ryoyryoy';

もし、「data-user-name」のようにハイフンで記述している場合は、キャメルケースに置き換えて更新する値を代入します。

let element = document.getElementById('element');
element.dataset.userName = 'ryoyryoy';

まとめ

最後に、detasetでdata属性を扱う方法をまとめます。

処理サンプル
data属性(data-*)の取得element.dataset.dataName
data属性(data-*)の設定element.dataset.dataName = '値';
data属性(data-*)の更新element.dataset.dataName = '値';

「dataset」は使い方がとてもわかりやすいプロパティになります。ハイフンの場合はキャメルケースに置き換えるという点だけ注意していただければと思います。

以上、JavaScriptでdata属性の取得・設定・更新する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク