質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

3回答

2133閲覧

カスタム属性とは、どういう時に使用するのでしょうか?

ryoichi

総合スコア6

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2015/03/08 11:53

dataメソッドを使用して、カスタム属性の値を取得出来る

というのは理解出来たのですが、カスタム属性をどのよう

な場面で使用するのか解りません。

ご回答よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

カスタム属性を自分で使うだけでなく、JavaScriptライブラリがカスタム属性を読み取って、コードを書かなくても動作する、というような使い方もあります。

具体例としては、jQuery MobileIntro.jsといったものがあります。

投稿2015/03/09 00:38

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryoichi

2015/03/09 15:15

回答、ありがとうございます。
guest

0

ベストアンサー

表示する必要は無いのだけど、あとの処理で使うデータを先にセットしておく、といった使い方を最近しました。このときは、json形式のデータをTableに読み込んで、json上の一部のデータをTableの各行にカスタム属性で持たせました。

投稿2015/03/08 14:15

編集2015/03/08 14:19
tohshima

総合スコア374

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryoichi

2015/03/09 15:16

回答、ありがとうございます。
guest

0

例えば、、、、

lang

1<!DOCTYPE html> 2<html> 3<head lang="ja"> 4 <meta charset="UTF-8"> 5 <title>玉が動くサンプル</title> 6 7 <!-- style sheet --> 8 <style> 9 10 body{position: relative;} 11 12 .animation{ 13 position: absolute; 14 top:0; 15 left:0; 16 width:20px; 17 height:20px; 18 border-radius: 10px; 19 background:red; 20 } 21 22 #controller{ 23 position: fixed; 24 bottom:0; 25 left:0; 26 width: 100%; 27 padding:10px 10px 10px 10px; 28 background: rgba(0,0,0,0.2); 29 } 30 31 #controller button{cursor:pointer;} 32 #controller button:hover{background:rgba(0,0,0,0.1);} 33 34 </style> 35 36</head> 37<body> 38 39<!-- アニメーションする玉 --> 40<div class="animation">&nbsp;</div> 41 42<!-- 玉を動かすコントローラー --> 43<div id="controller"> 44 <button id="plus-x" data-position-x="10">(x:10, y: 0)</button> 45 <button id="plus-y" data-position-y="10">(x:0 , y:10)</button> 46 <button id="plus-xy" data-position-x="10" data-position-y="5">(x:10, y: 5)</button> 47</div> 48 49<!-- jQuery --> 50<script src="../js/jquery-1.11.2.min.js"></script> 51 52</body> 53</html>

と、HTMLを書いておき、
JavaScript側で

lang

1$(function() { 2 3 var 4 $animation = $(".animation"), //玉 5 $buttonX = $("#plus-x"), //ボタンX 6 $buttonY = $("#plus-y"), //ボタンY 7 $buttonXY = $("#plus-xy") //ボタンXY 8 ; 9 10 //各ボタンクリック時、_animation関数が動く 11 $buttonX.on("click", _animation); 12 $buttonY.on("click", _animation); 13 $buttonXY.on("click",_animation); 14 15 /** 16 * buttonタグのdata属性を見て、玉がアニメーションする関数 17 * @param e 18 * @returns {boolean} 19 * @private 20 */ 21 function _animation(e){ 22 23 e.preventDefault(); 24 25 var 26 $b = $(this), //クリックしたボタン 27 posX = parseInt($animation.position().left,10), 28 posY = parseInt($animation.position().top,10); 29 30 //玉の現在位置からdata属性の値分動く量を追加 31 if( $b.data("positionX") ) posX += $b.data("positionX"); 32 if( $b.data("positionY") ) posY += $b.data("positionY"); 33 34 //玉のアニメーション 35 $animation.stop(true,false).animate({left:posX, top:posY}, 300, "swing"); 36 37 return false; 38 39 } 40 41 });

と、記述すると
クリックしたボタンのdata属性の値を見て
玉が動かすことが出来ます。
※パッと思いついた大雑把なソースコードですので参考程度に・・・


twitterのフォローボタン
facebookのいいねボタン
teratailの+フォローボタン

でも使われているみたいですので
主な使い道としては、

ajax + データベースと連携してページの一部を更新する

といった目的で使われている事が多いようですね。

投稿2015/03/08 12:50

編集2015/03/08 14:53
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryoichi

2015/03/09 15:16

回答、ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問