HTML およびプラグイン アプリケーションにおけるデータ カスタム属性の使用の概要

HTML およびプラグイン アプリケーションにおけるデータ カスタム属性の使用の概要
HTML にはデータ属性が含まれていることがよくあります。これらは HTML5 のカスタム属性です。さまざまな機能があり、JS を直接呼び出すのに非常に便利です。これらは HTML5 の属性ですが、幸いなことに jQuery はユニバーサルなので、IE の下位バージョンを含む基本的にすべてのブラウザーで正常に使用できます。使い方の簡単な紹介は次のとおりです。
1. 使いやすい

コードをコピー
コードは次のとおりです。

<div id="ウィジェット" データテキスト="123456"></div>


コードをコピー
コードは次のとおりです。

$(関数(){
var _widget = $("#widget").attr("data-text"); alert(_widget); //data-text="123456" なので、123456 が出力されます
})

2. $.fn.extend を使ってプラグインを書く

コードをコピー
コードは次のとおりです。

<div id="widget" data-widget-config="{effect:'click'}">これはテスト領域です</div>


コードをコピー
コードは次のとおりです。

//プラグイン拡張部分
;(関数($){
$.fn.extend({
テスト:function(config){
/**
* @param 効果 効果
* config||{} カスタムプロパティが渡された場合、デフォルト値は実行されません
*/
// デフォルト値を設定する
config=$.extend({
効果: 'クリック'、
},config||{});
var effect = config.effect;
var _text=config._text;
if(効果=='クリック'){
$(this).click(function(){
alert('このクリック');
})
}それ以外の場合(効果=='マウスオーバー'){
$(this).mouseover(function(){
alert("これはマウスオーバーです");
})
}
}
})
})(jQuery)


コードをコピー
コードは次のとおりです。

//呼び出し部分、HTMLのデータ属性はこれに依存します
$(関数(){
var _widget = $("#widget").attr("データウィジェット設定");
// 文字列をJSONオブジェクトに変換する方法は2つあります
var widgetConfigJSON = eval("("+_widget+")");
// var widgetConfigJSON = (新しい Function("return " + _widget))();
$("#widget").test(widgetConfigJSON);
// HTML のデータ属性は data-widget-config="{effect:'click'}" なので、ここでクリック イベントが呼び出されます。
data-widget-config="{effect:'mouseover'}" の場合、マウスオーバーのイベントが呼び出されます})

<<:  Docker5フル機能の港湾倉庫構築プロセス

>>:  CSS3 フリップカード番号サンプルコード

推薦する

Raspberry PiにDockerをインストールする方法

Raspberry Pi は ARM アーキテクチャをベースとしているため、Docker のインスト...

Vueのwatch、computed、methodsの違いのまとめ

目次1 はじめに2 基本的な使い方2.1 方法2.2 計算プロパティ2.3 リスナーを見る3 3つの...

シンプルなカレンダー効果を実現する JavaScript コード

この記事では、シンプルなカレンダー効果を実現するためのJavaScriptの具体的なコードを参考まで...

React Native の基本原則の深い理解 (Bridge of React Native)

この記事では、React Native の基本をすでに理解していることを前提とし、ネイティブと Ja...

ネイティブJSでマウススライドによる愛の拡散効果を実現

この記事では、マウスをスライドすると愛が広がる js 特殊効果を紹介します。効果は次のとおりです。 ...

22 Vue 最適化のヒント (プロジェクトの実践)

目次コードの最適化v-for でキーを使用するv-if/v-else-if/v-else でキーを使...

Vue の get リクエストと post リクエストの違いのまとめ

このチュートリアルの動作環境: Windows 7 システム、vue 2.9.6 バージョン、DEL...

MySQLとOracleの違いを簡単に説明してください

1. Oracle は大規模データベースですが、MySQL は小規模から中規模のデータベースです。O...

MySQLで日付と時刻を照会する方法

序文:プロジェクト開発では、一部のビジネス テーブル フィールドで日付と時刻の型が使用されることが多...

CSS の ::before と ::after 疑似要素について知らないこと

CSS には、一般的には使用されない 2 つの疑似クラス、before と :after があります...

IE8でラベルの背景画像が表示されない問題の解決方法

今日、ちょっとした問題に遭遇し、長い間苦労しました。そのことを皆さんにシェアしたいと思います。 a ...

CSS で子 div の高さを親コンテナの残りのスペースに合わせる方法

1. フローティング方式を使用する効果画像: コードは次のとおりです: (.content の高さは...

MySQLオンラインDDLの使用に関する詳細な説明

目次文章LOCKパラメータアルゴリズムパラメータCOPY TABLE プロセスIN-PLACEプロセ...

aタグ内のテキストを非表示にして画像を表示するには?360モードレンダリングに対応

多くの場合、画像を表示する<a>タグのスタイルに遭遇しますが、タグ内にテキストがあり、そ...

HTMLはWEB標準の開発の中心的な基盤です

HTML 中心のフロントエンド開発は、ほぼ Web 標準の意味です。共通しているのは「分離」という考...