勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

jQueryで特定のdata属性をセレクタとして指定する方法

  jQuery JavaScript

jQueryで特定のdata属性をクリックした際に何らかのイベントを実行したかった。いつもであれば当該要素のに対してidやclassを付与し、それらをセレクタとして指定するがASPを利用したサイトでそのような方法が取れなかった。そのため今回はdata属性自体をセレクタとして指定したい。以下に対応方法をメモ。

 

対応方法

ソースコード

<div data-id="1">ID:1</div>
<div data-id="2">ID:2</div>
<div data-id="3">ID:3</div>

<script type="text/javascript" src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
$(function(){
    $(`[data-id]`).on(`click`, function(){
        console.log($(this).data(`id`));
    });
});
</script>

data-id属性をクリックした際にdata-idの値をコンソールログに出力するという内容になる。

尚、data-id属性の内容が1のものを指定したいような場合は以下のような形になる。

$(`[data-id="1"]`).hide();

 

参考サイト

https://kinocolog.com/jquery_data/

 - jQuery JavaScript

  関連記事

jQueryで同サーバ内のCSVを読み込み、配列やオブジェクトとして取り扱う方法
jQueryで同サーバ内のCSVを読み込み、配列やオブジェクトとして取り扱う方法

先日バニラJavaScriptで同サーバ内のCSVを読み込み、配列として取り扱う ...

jQueryでユーザーが編集可能な文字列をページ上に表示する際にエスケープする方法
jQueryでユーザーが編集可能な文字列をページ上に表示する際にエスケープする方法

GETパラメータを取得し、その内容をページ上に表示したいケースがあった。また、A ...

ajaxのエラー詳細を取得する
ajaxのエラー詳細を取得する

success or errorで分岐処理はできるけど、 エラー詳細取れないの? ...

フォームの入力内容をjQueryで取得し、本文として設定した上でメーラーを起動させる方法
フォームの入力内容をjQueryで取得し、本文として設定した上でメーラーを起動させる方法

formで何らかを入力してもらいボタンをクリックするとメーラーが開き、先ほど入力 ...

jQueryでAjax通信したデータをPHPで受け取り、zip化したファイルをダウンロードさせる方法
jQueryでAjax通信したデータをPHPで受け取り、zip化したファイルをダウンロードさせる方法

jQueryのAjaxで何らかのデータをPHP側に送信し、PHP側で当該データを ...